更新mysql表的最后360行


Update the last 360 rows of a table mysql

我在表的末尾有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"附近使用的正确语法

我哪里出了问题,请帮忙。

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

ORDER BY AND LIMIT可以,只要你不JOIN

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