我们如何才能将Mysql表视为有限的FIFO缓冲区(队列)。
目标是:
- 该表一次只能有 N 行。
- 当插入一行时,应删除最旧的行以保持行数为 N。
请建议方法。
UPDATE:抱歉,伙计们,正如很多人指出的那样,我将问题从 STACK 更改为 FIFO 队列
在过去的 Mysql 5 中,您可以使用触发器来实现此目的。
http://dev.mysql.com/doc/refman/5.0/en/create-trigger.html http://dev.mysql.com/doc/refman/5.0/en/create-trigger.html
那么你触发的sql将是这样的:
DELETE FROM foo WHERE id NOT IN (SELECT id FROM foo ORDER BY id DESC LIMIT 10)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)