2014-12-30 104 views
1

我有三個表:users,accountaccountinfo我試圖做一個觸發器,將用戶的id添加到帳戶表中的UserID列。這裏是我的嘗試:使用MySQL數據庫觸發器

CREATE TRIGGER catchUser BEFORE INSERT ON defaultdatabase.users 
FOR EACH ROW 
BEGIN 
INSERT INTO defaultdatabase.account(UserID) VALUES (new.id); 
END 

但是,我得到一個錯誤,我INSERT聲明說之後,

Syntax Error: insert 'semicolon' 

爲什麼會出現這個錯誤是我分號或者是我的觸發只是錯誤?

我正在使用MySQL 5.6,如果這有什麼不同。

回答

1

你需要指定分隔符:

delimiter // 
CREATE TRIGGER catchUser BEFORE INSERT ON defaultdatabase.users 
FOR EACH ROW 
BEGIN 
INSERT INTO defaultdatabase.account(UserID) VALUES (new.id); 
END; // 
delimiter ; 
+0

謝謝,這工作完美 – ghost1349

0

試試這個:

CREATE TRIGGER catchUser BEFORE INSERT ON defaultdatabase.users 
FOR EACH ROW 
BEGIN 
INSERT INTO defaultdatabase.account(UserID) VALUES (new.id) 
END; 
相關問題