【发布时间】:2018-03-27 00:42:38
【问题描述】:
我正在尝试创建一个触发器,该触发器在插入时更新另一个表中的行。最后一部分有效,但如果没有具有该 id 的行,我想在添加之前为该 id 创建一行。
但我收到 #1064 错误:'resource_xpEvents FOR EACH ROW 开始 如果不存在(从 resource_xp 中选择 1 '
DELIMITER $$
CREATE TRIGGER test AFTER INSERT resource_xpEvents FOR EACH ROW
BEGIN
IF NOT EXISTS (SELECT 1 FROM resource_xp WHERE userId = NEW.userId) THEN
INSERT INTO resource_xp (userId)
VALUES (NEW.userId);
END IF;
UPDATE resource_xp
SET xp = xp + new.delta
WHERE userId = new.userId
END $$
DELIMITER ;
【问题讨论】: