我在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
是由于列名称是数字还是别的错误?
答案 0 :(得分:3)
试试这个:
UPDATE table1 SET `1960`='0.0' WHERE id = 'abc'
...在列名和单引号周围添加了反引号(值并非真正需要,但我总是这样做)
答案 1 :(得分:3)
使用反引号转义列名
UPDATE table1 SET `1960` = 0.0 WHERE id = 'abc'
如果你的列名是MySQL中的reserved keyword或数字,那就必须这样做。
答案 2 :(得分:0)
您必须使用反引号字符转义列名。以下手册页为somewhat dense but informative
...试
UPDATE table1 SET `1960`=0.0 WHERE id = 'abc'