2011-09-14 42 views
1

進出口運行下面的查詢從我的phpMyAdmin的SQL選項卡MySQL的觸發查詢從phpMyAdmin的

CREATE TRIGGER testTrigger 
AFTER INSERT ON tbl_table1 
FOR EACH ROW 
BEGIN 
INSERT INTO tbl_table2 (id,name) values (NEW.id,NEW.name); 
END 

但每次我收到此錯誤信息:

#1064 - 你在你的SQL語法錯誤;檢查對應於你的MySQL服務器版本5

進出口使用MySQL客戶端版本的行使用「」附近正確語法手冊:5.1.37,PHPMyadmim版本信息:3.2.2.1deb1

回答

4

here

當你想在你的觸發器使用SET NEW.col_name = value,請 請注意,您不能與動作後使用此,並且必須使用 它的動作。

那麼可能是你應該嘗試:

CREATE TRIGGER testTrigger 
BEFORE INSERT ON tbl_table1 
FOR EACH ROW 
BEGIN 
    INSERT INTO tbl_table2 (id,name) values (NEW.id,NEW.name); 
END 

編輯:我想這和它的工作在MySQL

DROP TRIGGER IF EXISTS testTrigger; 
CREATE TRIGGER testTrigger 
BEFORE INSERT ON tbl_table1 
FOR EACH ROW 
BEGIN 
    INSERT INTO tbl_table2 VALUES (NEW.id,NEW.name); 
END; 

然後試圖INSERT INTO test1 SELECT 5,'pois';和觸發的工作!

+0

仍然無法正常工作。顯示相同的錯誤消息 – iThink

+0

@ user942201:看看我編輯的帖子 – Marco

+0

謝謝Macro。我已經接受你的回答:) – iThink