这个查询出了什么问题?

时间:2009-10-29 15:01:12

标签: sql mysql mysql-error-1064

使用MySQL 4.0.27版:

UPDATE `t` SET `col_x` = 
(SELECT `col_x` FROM `t` WHERE `col_y`='123456') WHERE `col_y`= '456789'
  

错误消息:#1064 - 您的SQL语法出错。检查与MySQL服务器版本对应的手册,以便在“SELECT t FROM b WHERE col_x ='1234

附近使用正确的语法

我尝试了LIKE '%123456%'

3 个答案:

答案 0 :(得分:3)

很抱歉让您失望,但如果您的MySQL版本不支持子查询。

根据MySQL Dev Zone

在ver 4.1中引入了子查询

答案 1 :(得分:1)

您无法从查询中的同一个表中进行选择和更新。

参考:mysql update documentation

答案 2 :(得分:-1)

结帐this page。显然,您需要将SQL模式设置为“ANSI QUOTES”