我有三个表:users
、account
和 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。
最佳答案
您需要指定分隔符:
delimiter //
CREATE TRIGGER catchUser BEFORE INSERT ON defaultdatabase.users
FOR EACH ROW
BEGIN
INSERT INTO defaultdatabase.account(UserID) VALUES (new.id);
END; //
delimiter ;
关于mysql - 使用 MySQL 数据库触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27701431/