2014-11-09 57 views
0

我想在phpmyadmin中創建一個觸發器,但它給我錯誤,沒有提示什麼是錯誤。它只是說錯誤。phpmyadmin創建觸發器錯誤,沒有提示

DELIMITER $$ 
CREATE TRIGGER `item_backup` 
    AFTER INSERT ON `item` FOR EACH ROW 
BEGIN 
    INSERT INTO `item_backup` (name, description) VALUES (NEW.name, NEW.description); 
END 
DELIMITER ; 

回答

1

正確的語法創建觸發器可以參考MySQL Manual 13.1.19 CREATE TRIGGER Syntax

你的代碼看起來非常好,但是你錯過下面的分隔符值和分號

DELIMITER $$ 
CREATE TRIGGER item_backup AFTER INSERT ON item 
FOR EACH ROW 
BEGIN 
INSERT INTO `item_backup` (name, description) VALUES (NEW.name, NEW.description); 
END; $$ 
DELIMITER ; 
+0

我爲什麼要使用BEFORE?我的代碼出了什麼問題? – 2014-11-09 01:50:23

+0

我認爲觸發器必須告訴它何時執行代碼。我假設你正在嘗試在對它們進行更新之前獲取這些值的備份。如果你描述你想要觸發器做什麼,這將有所幫助。 – Jaylen 2014-11-09 01:51:42

+0

其實我只是從教程練習觸發器。我想要實現的是當item_backup表中插入一條新記錄時,我想要一個重複條目。這就是爲什麼我使用後插入 – 2014-11-09 01:53:53