と の 2 つのテーブルがthreadsありthreadreplyます。
threadsには、複合主キー があり(thread_id,reply_id)ます。
に新しい行を挿入するときはthreadreply、次のことを行う必要があります。
threads.reply_count前の値に +1 を追加して列を更新します。とthreadreply+1 をMAX(reply_id)with sameに追加して、データを挿入しますthread_id。
次のトリガーを使用して、 +1 を my に追加できましたが、 myreply_idを更新できませんでしたreply_count:
CREATE TRIGGER addone BEFORE INSERT ON threadreply
FOR EACH ROW BEGIN
SET NEW.reply_id = (
SELECT IFNULL(
(
SELECT MAX(reply_id) + 1
FROM threadreply
WHERE thread_id = NEW.thread_id
),
1
)
);
END
どうすればこれを解決できますか?