MySQL删除最后多行
MySQL删除最后一万行数据,首先想到的方法是使用子查询筛选出最后一万个id,再根据id删除
delete from futures_eth_tick where id in
(select id from futures_eth_tick order by id desc limit 10000)
但这样会出现错误,MySQL不支持在子查询中使用limit关键字
> 1235 - This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'
解决方法是再嵌套一层子查询,构造临时表
执行下面的sql可以正常删除最后一万条数据
delete from futures_eth_tick where id in
(select t.id from
(select id from futures_eth_tick order by id desc limit 10000) as t)
Reference
mysql子查询用limit报错( “This version of MySQL doesn’t yet support ‘LIMIT & IN/ALL/ANY/SOME subquery’ ”) – CSDN
ERROR 1235 (42000): This version of MySQL doesn’t yet support ‘LIMIT & IN/ALL/ANY/SOME subquery’问题的解决 – 博客园
发表回复