Mysql使用delete删除过期区间数据-错误笔记

有张表,每天会增加很多条数据,但是保存过长的数据不再有意义,所以需要将过期数据删除掉。

非过期数据定义:最新的500条数据

过去数据定义:除了非过期数据的所有数据

表名:historydata_20160901

主键:historydataid

SQL语句:

delete  from historydata_20160902 where historydataid <( 
 select historydataid from (
select historydataid from historydata_20160902 order by historydataid desc limit 1 
)as asdf)-500;

问题总结:

使用MySQL进行delete from操作时,若子查询的 FROM 字句和更新/删除对象使用同一张表,会出现错误。

参考链接


http://blog.csdn.net/u013614451/article/details/41419471

分享到:更多 ()