1

我有三个表:usersaccount并且accountinfo我正在尝试创建一个触发器,将用户的 id 添加到UserID帐户表中的列中。这是我尝试过的:

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。

4

3 回答 3

1

您需要指定分隔符:

delimiter //
CREATE TRIGGER catchUser BEFORE INSERT ON defaultdatabase.users 
FOR EACH ROW
BEGIN
INSERT INTO defaultdatabase.account(UserID) VALUES (new.id);
END; //
delimiter ;
于 2014-12-30T07:45:09.653 回答
0

请在 END 后插入分号。

于 2014-12-30T07:45:48.307 回答
0

尝试这个:

CREATE TRIGGER catchUser BEFORE INSERT ON defaultdatabase.users 
FOR EACH ROW
BEGIN
INSERT INTO defaultdatabase.account(UserID) VALUES (new.id)
END;
于 2014-12-30T07:44:15.690 回答