0
我有三个表如下所示:MySQL的触发器和程序
我已经写一个MySQL触发器调用的过程来改变模的输送通道每当的PAC变化输送通道。这两者之间有多对多的关系,那就是我有pac_mods表。
触发:
DELIMITER $$
CREATE TRIGGER pac_delivery_channel_change_trigger AFTER UPDATE ON pacs
FOR EACH ROW
BEGIN
IF NEW.delivery_channel <> OLD.delivery_channel THEN
CALL updateMods(Old.id, New.delivery_channel);
END IF;
END;
$$
而且程序:
DELIMITER $$
CREATE PROCEDURE updateMods(IN pacID INT, IN newDeliveryChannelID INT)
BEGIN
UPDATE mods md
INNER JOIN
pac_mods pmds ON pmds.mod_id = md.id
SET md.delivery_channel = newDeliveryChannelID
WHERE pmds.pac_id = pacID;
END;
$$
有当我运行在MySQL中的语句没有错误,但它不工作。
我会做什么错?
感谢
在我身边,所有这些员工在Windows上的MySQL 5.6上工作。请检查触发器是否已在pacs上创建。 – 2014-10-27 06:37:40
谢谢。它工作正常。我犯了一个愚蠢的错误。 – 2014-10-27 08:39:36