我想創建一個觸發器來插入一個新的行有條件地基於另一個表上的插入...我似乎無法指定語法。 這裏是我迄今:mysql觸發器不工作?
DELIMETER $$
CREATE TRIGGER overPricedCar
AFTER INSERT ON cars
FOR EACH ROW
BEGIN
IF (new.sellPrice > '80000')THEN
INSERT INTO listings VALUES(new.carName,'GOLD','0',' ');
END IF;
END$$
DELIMETER ;
出於某種原因,我不斷收到一個錯誤,他們的語法似乎是好了,我不知道,我可能出了問題。
編輯
糾正錯字後,觸發 '作品'。
我添加了一個註釋,當觸發器發生時輸出。 我已經測試過它,並且輸出消息被打印到屏幕上,但觸發實際上並沒有完成插入:
DELIMITER $$
CREATE TRIGGER overPricedCar
BEFORE INSERT ON cars
FOR EACH ROW
BEGIN
IF (new.sellPrice > '80000')THEN
INSERT INTO listings VALUES(new.carName,'GOLD','0',' ');
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = "New Gold car!"; // this line throws it off
END IF;
END$$
DELIMITER ;
我在哪裏可以把我想打印的時候這個觸發運行屏幕上的信息?
且誤差?? – jcho360 2013-05-02 17:19:54
@ jcho360#1064 - 你的SQL語法錯誤;檢查對應於你的MySQL服務器版本在1號線 – shnozolla 2013-05-02 17:20:29
使用附近的「分隔符$$ CREATE TRIGGER overPricedCar INSERT ON汽車 FOR EACH ROW B之後」正確的語法手冊有什麼錯誤? – 2013-05-02 17:20:58