Say I have the following table
//table user_update
update_id | userid | update_message | timestamp
Is there a way to set a maximum number of entries per userid? I want to make it so after a user types say 5 updates, any more updates entered after that deletes the oldest update. I know how to do this through PHP, just curious if there's any way to do this through MySQL only.
The only way I can think of doing this database-side would be to use a TRIGGER
on the table. Maybe something like this:
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;
Here is some additional information:
http://dev.mysql.com/doc/refman/5.0/en/create-trigger.html
Good luck.
That is actually possible. but it is questionable if you really want to make that effort.
Read a little about 'triggers'. You can use a trigger to start an action when certain conditions are met. This way you can trigger a delete
action on every insert
action on that table. Then all that is left is a condition that up to five entries are kept.