我試圖創建一個觸發器來更新插入器上另一個表中的行。最後一部分工作,但如果沒有該行的那個ID,我想在添加它之前爲該ID創建一行。SQL觸發器:如果行不存在則創建行
但我得到#1064錯誤: 'FOR EACH ROW resource_xpEvents BEGIN IF NOT EXISTS(SELECT 1 FROM resource_xp'
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 ;
當您嘗試安裝觸發器時,您會收到錯誤消息? – farbiondriven
我的不好。另一個錯誤:第12行'END'的語法錯誤 –
因爲缺少a;在更新聲明的末尾。 –