次の表があるとしましょう
//table user_update
update_id | userid | update_message | timestamp
ユーザーIDごとにエントリの最大数を設定する方法はありますか?ユーザーが「5回の更新」と入力した後、それ以降に更新を入力すると、最も古い更新が削除されるようにします。私はPHPを介してこれを行う方法を知っていますが、MySQLのみを介してこれを行う方法があるかどうかだけ興味があります。
それは実際に可能です。しかし、本当にその努力をしたいのかは疑問です。
「トリガー」について少し読んでください。トリガーを使用して、特定の条件が満たされたときにアクションを開始できます。このようにして、そのテーブルのdelete
すべてのアクションでアクションをトリガーできます。insert
あとは、5つまで残すという条件だけです。
これをデータベース側で実行する唯一の方法はTRIGGER
、テーブルで a を使用することです。多分このようなもの:
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
幸運を。