0

我有以下 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
4

3 回答 3

3

DEC显然是 MySQL 中的保留字。使用反引号。

UPDATE Mytable SET status = '2', `dec` = 'etc.'...

保留字列表:https ://dev.mysql.com/doc/refman/4.1/en/reserved-words.html

于 2013-04-07T20:27:14.183 回答
2

dec是一个保留字( 的简写decimal)。尝试dec用反引号引用标识符:

更新 mytable 设置状态 = '2', `dec` = '268435458001932988' 其中 id = 29952;

于 2013-04-07T20:27:10.000 回答
1

试试这个

 UPDATE mytable SET status = '2', `dec` = '268435458001932988' WHERE id = 29952

DEC是mysql的保留关键字。

于 2013-04-07T20:28:03.940 回答