1
我試圖建立一個MySQL的觸發器,做了以下數據:創建MySQL觸發器來驗證另一個表
- 當有人將數據插入databaseA.bills,它驗證是否databaseB.bills已經有那一行,如果沒有,那麼它會對databaseB.bills執行一個額外的插入操作。
以下是我有:
CREATE TRIGGER ins_bills AFTER INSERT ON databaseA.bills
FOR EACH ROW
BEGIN
IF NOT EXISTS (SELECT 1 FROM databaseB.bills WHERE billNumber=NEW.billNumber) THEN
INSERT INTO databaseB.bills (billNumber) VALUES (NEW.billNumber)
END IF
END;//
DELIMITER ;
的問題是,我無法通過mysql的控制檯或phpMyAdmin的創建。它在END IF END附近返回語法錯誤,我相信這是一個分隔符問題。
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'END IF END' at line 6
我在做什麼錯?
嗯,我結束了使用這種較短的查詢,因爲是啊,billNumber是唯一索引。所有其他答案也是正確的。 – 2010-05-13 18:48:23