5
我有兩個MySQL表。投票表(id, userId, postId, voteTypeId)
,和帖子表(id, postTypeId, userId, parentId)
表。我正在寫一個插入選票後觸發的觸發器。如何使用觸發器更新MySQL中的其他表?
我想觸發器更新posts表中的帖子。但是這篇文章與postId
下我的投票表中引用的不一樣;它是那個職位的父母。
BEGIN
CASE NEW.voteTypeId
WHEN 2 THEN UPDATE posts SET posts.acceptedAnswerId = NEW.postId WHERE posts.id = @the parent postId of NEW.postId
ELSE
BEGIN
END;
END CASE;
END
我試着用的,而不是@the父母這...:
(SELECT posts.parentId FROM posts WHERE posts.id = NEW.postId)
不過你,我不認爲你可以在觸發器做SELECTS除非你使用某種類型的SELECT INTO的語法。我想要更新的父郵件的唯一引用是其在投票中引用的子郵政標識。所以我不知道如何通過select來獲取正確的ID。
這可能嗎?
你可以做實際上觸發器內的SELECT。但是,您的其他語法看起來有點不合適。 – Mchl 2011-02-04 16:10:52
@Mchl,我嘗試了幾種組合,但沒有奏效。你能指點我做錯了什麼嗎? – Mohamad 2011-02-04 16:35:37