2014-12-30 61 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; 
相关问题