奇怪的MySQL问题

时间:2011-06-16 23:20:58

标签: mysql

嘿伙计们,我遇到了MySQL问题。

当我使用此查询时,它会引发错误。

update table set column1 = 'test' where column2 = 'xy' and column3 = 'xx'

错误是:

#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 'column2 = 'xy' and column3 = 'xx'' at line 1

我做错了什么?

干杯。

3 个答案:

答案 0 :(得分:2)

您需要提供真实姓名和值以及真正的错误。您如何期望有人帮助您?

根据你对@Will A的答案的评论,看来column2是一个保留字。尝试将其包裹在刻度线(`)中或写入tablename.columnname而不仅仅是columnname

答案 1 :(得分:1)

你的桌子叫“桌子”吗?尝试:

update `table` set column1 = 'test' where column2 = 'xy' and column3 = 'xx'

代替。

答案 2 :(得分:0)

应该是

update tablename set column1 = 'test' where column2 = 'xy' and column3 = 'xx'

这是Single-table的更新语法:

UPDATE [LOW_PRIORITY] [IGNORE] table_reference
SET col_name1={expr1|DEFAULT} [, col_name2={expr2|DEFAULT}] ...
[WHERE where_condition]
[ORDER BY ...]
[LIMIT row_count]