0

次の表があるとしましょう

//table user_update
update_id   |   userid   |   update_message   |   timestamp

ユーザーIDごとにエントリの最大数を設定する方法はありますか?ユーザーが「5回の更新」と入力した後、それ以降に更新を入力すると、最も古い更新が削除されるようにします。私はPHPを介してこれを行う方法を知っていますが、MySQLのみを介してこれを行う方法があるかどうかだけ興味があります。

4

2 に答える 2

1

それは実際に可能です。しかし、本当にその努力をしたいのかは疑問です。

「トリガー」について少し読んでください。トリガーを使用して、特定の条件が満たされたときにアクションを開始できます。このようにして、そのテーブルのdeleteすべてのアクションでアクションをトリガーできます。insertあとは、5つまで残すという条件だけです。

于 2013-01-18T00:50:26.027 に答える
1

これをデータベース側で実行する唯一の方法は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

幸運を。

于 2013-01-18T00:50:51.143 に答える