2012-07-17 177 views
1

我在MySQL中有多年的列表,如1960年,1961年,1962年等列名......等記錄正在插入成功。當我嘗試用查詢更新表MySQL更新錯誤,同時更新表

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 

正是由於列名作爲數字或別的東西是錯誤的?

+1

多數民衆贊成在命名列的** **非常不錯的選擇。無論如何,嘗試用一對反作用操作符圍繞1960年。 – SuperSaiyan 2012-07-17 14:18:44

回答

0

您必須使用反引號字符來避開列名。以下手冊頁somewhat dense but informative

的Try ...

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

它工作。謝謝 – 2012-07-17 14:31:41

3

試試這個:

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

...添加圍繞價值反引號字段名和單引號(不是真正需要的價值,但我總是這樣做)

3

與逃不出你的列名反引號

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

這已如果你的列名是MySQL或數字的reserved keyword工作要做。