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