如何将最大SQL记录数设置为10,并在添加新记录时自动删除最后一条记录。
答案 0 :(得分:4)
MySQL中没有这样的功能。您必须自己编写程序,无论是在应用程序中,还是在数据库中编写触发器或存储过程。
计算当前行数(SELECT COUNT(*) FROM table
),如果大于10,则DELETE FROM table ORDER BY somecol LIMIT 1
删除一行。
答案 1 :(得分:2)
您可以删除除了在您希望
时运行的单个查询插入的最后十个记录以外的所有记录delete from table where id < (select * from (select id from table order by id desc limit 9,1) as tab)
答案 2 :(得分:1)
使用插入日期和时间添加日期/时间字段。然后在insert上运行一个触发器以删除前1行并按日期降序排序。
答案 3 :(得分:0)
您可以保留所有记录,并且只返回最近的10条记录。然后编写一个清理程序,定期删除旧程序。
SELECT * FROM tbl ORDER BY created_at DESC LIMIT 10