gpt4 book ai didi

MySQL 触发器和过程

转载 作者:行者123 更新时间:2023-11-29 23:30:57 25 4
gpt4 key购买 nike

我有三个表,如下所示:

enter image description here

我编写了一个 MySQL 触发器,每当 pac 的传递 channel 发生变化时,调用一个过程来更改 mod 的传递 channel 。两者之间存在多对多关系,即我有 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中运行语句没有错误,但是不起作用。

我可能做错了什么?

谢谢

最佳答案

实际上这是可行的,我犯了一个愚蠢的错误,直到我发布问题后才意识到。

错误是在我在 MySQL 中运行的实际代码中的 if 语句中使用了错误的字段。

我希望有一天这可以帮助别人。

谢谢

关于MySQL 触发器和过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26581861/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com