と の 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
どうすればこれを解決できますか?