我有以下SQL查询:
UPDATE mytable SET status = '2', dec = '268435458001932988' WHERE id = 29952
表是:
status = varchar(1)
dec = varchar(23)
在我在手册中阅读之后,我可以通过用“,”分隔多个列来更新。
为什么我在这里遇到语法错误(1064)?
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'dec = '268435458001932988' WHERE id = 29952' at line 1
答案 0 :(得分:3)
DEC
显然是MySQL中的保留字。使用反引号。
UPDATE Mytable SET status = '2', `dec` = 'etc.'...
保留字列表:https://dev.mysql.com/doc/refman/4.1/en/reserved-words.html
答案 1 :(得分:2)
dec
是保留字(decimal
的简写)。尝试使用反引号引用dec
标识符:
更新mytable set status ='2',`dec` ='268435458001932988'其中id = 29952;
答案 2 :(得分:1)
试试这个
UPDATE mytable SET status = '2', `dec` = '268435458001932988' WHERE id = 29952
DEC
是mysql的保留关键字。