1

我在 MySQL 中有一个表,列名称为 1960、1961、1962 等。记录已成功插入。当我尝试使用查询更新表时

UPDATE table1 SET 1960=0.0 WHERE id = 'abc'

它给:

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 '1960=0.0 WHERE id='abc' at line 1 

是由于列名作为数字还是其他错误?

4

3 回答 3

3

试试这个:

UPDATE table1 SET `1960`='0.0' WHERE id = 'abc'

... 为列名添加反引号和值周围的单引号(值实际上不需要,但我总是这样做)

于 2012-07-17T14:17:02.370 回答
3

用反引号转义你的列名

UPDATE table1 SET `1960` = 0.0 WHERE id = 'abc'

如果您的列名是MySQL中的保留关键字或数字,则必须这样做。

于 2012-07-17T14:17:17.013 回答
0

您必须使用反引号字符来转义列名。以下手册页有些密集但内容丰富

尝试...

UPDATE table1 SET `1960`=0.0 WHERE id = 'abc'
于 2012-07-17T14:20:36.560 回答