0
我有兩個表格:threads
和threadreply
。觸發一個堆肥密鑰並更新另一列
threads
有一個複合主鍵(thread_id,reply_id)
。
當我插入新行到threadreply
,我需要:
更新加入+1到以前的值我的專欄
threads.reply_count
;和通過向
MAX(reply_id)
加上+1來將數據插入到threadreply
中,同時thread_id
。
使用下面的扳機,我是能夠增加+ 1我reply_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
我怎樣才能解決這個問題?
innoDB並感謝您的問題編輯。 – Sudheer
如果你想更新,那麼需要一些更新命令。你有沒有嘗試過'更新線程SET reply_count = reply_count +1 WHERE threads.id = NEW.thread_id'? – krokodilko
@kordirko ya單獨這兩個語句的工作,但我無法讓這兩個語句在同一個觸發器中工作。 – Sudheer