gpt4 book ai didi

mysql - 无法在触发器中设置变量

转载 作者:行者123 更新时间:2023-11-29 12:42:49 25 4
gpt4 key购买 nike

我正在尝试在触发器中设置一个变量,该变量是表中的最新条目。但是,PHPMyAdmin 注意到 SET clicked_campaign_id = 行存在错误。我没有看到这里的问题。

CREATE TRIGGER tr_user_action_click 
AFTER INSERT ON users_click FOR EACH ROW
BEGIN
DECLARE clicked_campaign_id int

SET clicked_campaign_id =
(SELECT campaignId
FROM users_click
WHERE id = (SELECT max(id) FROM users_click));

Update onlineportal.`campaigns`
SET `clicks` = `clicks` + 1
WHERE id = clicked_campaign_id;
END

是否有不同的方法来设置变量...?

最佳答案

您必须在phpMyAdmin中设置DELIMITER,如图所示:

enter image description here

然后,创建触发器:

CREATE TRIGGER `tr_user_action_click` AFTER INSERT ON `users_click`
FOR EACH ROW
BEGIN
DECLARE `clicked_campaign_id` INT;

SET `clicked_campaign_id` =
(SELECT `campaignId`
FROM `users_click`
WHERE `id` = (SELECT max(`id`) FROM `users_click`));

UPDATE `onlineportal`.`campaigns`
SET `clicks` = `clicks` + 1
WHERE `id` = `clicked_campaign_id`;
END//

关于mysql - 无法在触发器中设置变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25880232/

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