异常信息
This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'
错误语句
update t_order set create_time = '2024-09-02 12:00:00' where id in(
SELECT id from t_order where create_time ='2024-09-01 12:00:00' limit 501500
)
mysql的版本是5.7
异常分析
该错误表明MySQL不支持带有limit语句的内层select语句,也就是无法在IN/ALL/ANY/SOME子查询中直接使用LIMIT子句。
解决办法
在子查询中多嵌套一层,如下:
update t_order set create_time = '2024-09-02 12:00:00' where id in(
SELECT t.id from (
SELECT id from t_order where create_time ='2024-09-01 12:00:00' limit 501500
)t
)
1106

被折叠的 条评论
为什么被折叠?



