这个SQL查询有什么问题

时间:2013-03-24 19:45:23

标签: mysql sql

这个SQL查询出了什么问题..它一直给我一个错误..错误也在下面说明

这是查询:

UPDATE Politicians SET Big Fan = Big Fan +3 WHERE ID = '2' 

 MySQL said: Documentation
#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 'Fan = Big Fan + 3 WHERE ID ='2'' at line 1 

6 个答案:

答案 0 :(得分:3)

如果列名中有空格,则必须使用反引号:

UPDATE Politicians SET `Big Fan` = `Big Fan` +3 WHERE ID = '2' 

答案 1 :(得分:0)

由于列名中的空格。

UPDATE Politicians SET `Big Fan` = `Big Fan` +3 WHERE ID = '2' 

答案 2 :(得分:0)

您缺少方括号。试试这个

UPDATE Politicians SET [Big Fan] = [Big Fan] +3 WHERE ID = '2' 

答案 3 :(得分:0)

这是因为MySQL表名中有空格。我相信你可以尝试这样的事情:

UPDATE `Politicians` SET `Big Fan` = `Big Fan` + 3 WHERE `ID` = '2' 

答案 4 :(得分:0)

现在您刚刚发现了为什么表和列名称中的空格是PIA

猜测但是

UPDATE Politicians SET `Big Fan` = `Big Fan` +3 WHERE ID = '2' 

假设Politicians有一个名为Big Fan的专栏,mysql会看到big这个词和fan这个词,但它都不会理解。

包装反引号,让它看作一个“单词”,然后它知道你指的是政治家表中的一列

答案 5 :(得分:0)

理想情况下,列名称中不应包含空格。而是有“ - ”或下划线。现在如果你有空间,那么你可以在这种情况下使用'列名'。