0

我在表的末尾有 360 行,我需要将日期从 2013-08-26 更改为 9999-12-31。我尝试了此查询,但出现语法错误。

UPDATE xxx_score
SET xxx_date_to = 9999-12-31
WHERE xxx_date_to = 2013-08-26
ORDER BY `xxx_score`.`xxx_id` DESC
LIMIT 0 , 360

但得到了

1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 5 行的“360”附近使用正确的语法

请在我出错的地方提供任何帮助。

4

2 回答 2

4

日期应该用引号括起来,如此处所述http://dev.mysql.com/doc/refman/5.1/en/date-and-time-literals.html

ORDER BY AND LIMIT没关系,只要你不JOIN

于 2013-08-27T18:00:39.880 回答
3

尝试更改LIMIT 0, 360LIMIT 360.
您只能在 UPDATE 中使用 LIMIT 之后的行数:source

于 2013-08-27T18:05:42.637 回答