繁体   English   中英

设置MySQL表中每个用户ID的最大条目数

[英]setting max number of entries per userid in MySQL table

说我有下表

//table user_update
update_id   |   userid   |   update_message   |   timestamp

有没有一种方法可以设置每个用户ID的最大条目数? 我要这样做,以便在用户键入说5个更新后,在此之后输入的任何其他更新将删除最早的更新。 我知道如何通过PHP做到这一点,只是好奇是否有办法仅通过MySQL做到这一点。

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

阅读一些有关“触发器”的信息。 当满足某些条件时,可以使用触发器来启动操作。 这样,您可以对该表上的每个insert操作触发delete操作。 那么剩下的就是最多保留五个条目的条件。

我可以想到的在数据库侧进行操作的唯一方法是在表上使用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

祝好运。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM