请诸位帮忙看一下我这个关于变量的SQL语句为什么会报错?

SGUav 2010-08-20 10:12:13


sql 的初学者,啥都不懂,在 mysql 当中,使用 navicat 图形界面执行下述语句,报错,特向各位请教,谢谢!


declare @strErrorCode varchar(9)
declare @strNewCode varchar(9)

set @strErrorCode = '00003'
set @strNewCode = 'abcdefg'

UPDATE aicmcss.tmarket
SET aicmcss.tmarket.LocalAdm = @strNewCode
WHERE aicmcss.tmarket.LocalAdm = @strErrorCode
...全文
98 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
SGUav 2010-08-20
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 hao1hao2hao3 的回复:]
MySQL和MSSQL Server的语法一样的。还是LZ没有弄清楚啊?报的什么错?
[/Quote]

报错内容:

1064 - You have an error in your SQL syntax; check the manual that corresponds to you MySQL server version for the right syntax to use near 'declare @strErrorCode varchar(9)'
declare @strNewcode varchar(9)

set @strE' at line 1
jeven_xiao 2010-08-20
  • 打赏
  • 举报
回复
UPDATE aicmcss.tmarket
SET aicmcss.tmarket.LocalAdm = @strNewCode
WHERE aicmcss.tmarket.LocalAdm = @strErrorCode
我想问下你前面变量前面加个前缀aicmcss干什么呢
如果你只是相对于单个表做更新操作的话,你用得着加前缀么?

itliyi 2010-08-20
  • 打赏
  • 举报
回复
mysql用的别扭
SGUav 2010-08-20
  • 打赏
  • 举报
回复
我的这个数据库是用mysql的,同样的语句我放到sql server 的企业管理器中进行语法检查,没问题。但在navicat 当中就挂掉了
Paddy 2010-08-20
  • 打赏
  • 举报
回复
UPDATE aicmcss.tmarket
SET aicmcss.tmarket.LocalAdm = @strNewCode
WHERE aicmcss.tmarket.LocalAdm = @strErrorCode

改为:
UPDATE aicmcss.tmarket
SET LocalAdm = @strNewCode
WHERE LocalAdm = @strErrorCode
试试
hao1hao2hao3 2010-08-20
  • 打赏
  • 举报
回复
MySQL和MSSQL Server的语法一样的。还是LZ没有弄清楚啊?报的什么错?
dawugui 2010-08-20
  • 打赏
  • 举报
回复
mysql?帮顶。
SGUav 2010-08-20
  • 打赏
  • 举报
回复
单引号有什么问题呢?sql 当中的字符变量不就是用单引号吗?

之所以要用变量,是因为下面还有一大堆语句要用到这两个变量,我没接着贴上来
aaron_gl 2010-08-20
  • 打赏
  • 举报
回复
为什么要用变量啊,直接用值就可以了,是单引号的问题
hao1hao2hao3 2010-08-20
  • 打赏
  • 举报
回复
你是不是弄混了,这是MSSQL Server的写法,没有问题,但是MySQL的写法和MSSQLServer的是一模一样的吗?再找找看MySQL的语法。

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧