gpt4 book ai didi

mysql - 插入 MySQL 触发器后更新值或在另一个表中插入新行

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

我有两张 table ,

RawFeed , SellerList.

当新行插入RawFeed时,我需要在 SellerList 中插入一行如果对应SellerID SellerList 中不存在,

否则,我需要增加 SellerList 中的两列值表SellerID

这是我的触发代码-

CREATE TRIGGER `SellerListUpdate` AFTER INSERT ON `RawFeed`
FOR EACH ROW
BEGIN
--CHECK SELLER ID EXISTS OR NOT.
DECLARE SELLEREXISTS INT;
SELECT COUNT(*) INTO SELLEREXISTS FROM SellerList WHERE SellerList.SellerID=NEW.seller_id;

IF SELLEREXISTS=0 THEN
--INSERT ROW
INSERT INTO SellerList(`SellerID`, `Total`, `Active`) VALUES(NEW.seller_id, 1, 1);
ELSE
--UPDATE ROW
UPDATE SellerList SET Total=Total+1, Active=Active+1 WHERE SellerList.SellerID=NEW.seller_id;
END IF;
END

我收到了这个错误-

SQL Error(1064): You have an error in your SQL Syntax;

最佳答案

尝试更改分隔符

DELIMITER $$
CREATE TRIGGER `SellerListUpdate` AFTER INSERT ON `RawFeed`
FOR EACH ROW
BEGIN
--CHECK SELLER ID EXISTS OR NOT.
DECLARE SELLEREXISTS INT;
SELECT COUNT(*) INTO SELLEREXISTS FROM SellerList WHERE SellerList.SellerID=NEW.seller_id;

IF SELLEREXISTS=0 THEN
--INSERT ROW
INSERT INTO SellerList(`SellerID`, `Total`, `Active`) VALUES(NEW.seller_id, 1, 1);
ELSE
--UPDATE ROW
UPDATE SellerList SET Total=Total+1, Active=Active+1 WHERE SellerList.SellerID=NEW.seller_id;
END IF;
END
$$
DELIMITER ;

关于mysql - 插入 MySQL 触发器后更新值或在另一个表中插入新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41920781/

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