有张表,每天会增加很多条数据,但是保存过长的数据不再有意义,所以需要将过期数据删除掉。
非过期数据定义:最新的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