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