设置MySQL表中每个userid的最大条目数

时间:2013-01-18 00:39:24

标签: php mysql sql

说我有下表

//table user_update
update_id   |   userid   |   update_message   |   timestamp

有没有办法设置每个用户ID的最大条目数?我希望在用户输入5个更新之后再进行此操作,之后输入的任何更新都会删除最旧的更新。我知道如何通过PHP来做到这一点,只是好奇有没有办法通过MySQL做到这一点。

2 个答案:

答案 0 :(得分:1)

这实际上是可能的。但是,如果你真的想做出这样的努力,这是值得怀疑的。

阅读一些关于'触发器'的内容。您可以使用触发器在满足特定条件时启动操作。这样,您就可以对该表上的每个delete操作触发insert操作。然后剩下的就是最多保留五个条目的条件。

答案 1 :(得分:1)

我能想到做这个数据库端的唯一方法是在表上使用TRIGGER。也许是这样的:

CREATE TRIGGER check_for_too_many_rows
AFTER INSERT ON User_Update
FOR EACH ROW BEGIN
   DO SOME LOGIC TO CHECK THE COUNT AND DELETE IF MORE THAN 5...
END;

以下是一些其他信息:

http://dev.mysql.com/doc/refman/5.0/en/create-trigger.html

祝你好运。