如何通过触发器从另一个表中插入值

时间:2017-02-10 21:03:04

标签: mysql mariadb

我想创建一个触发器,以便在第一个表中插入值时在另一个表中插入值。

到目前为止,我的触发器看起来像这样:

CREATE TRIGGER tgIdPass
AFTER INSERT
ON tbuser FOR EACH ROW

BEGIN

DECLARE vIdPass INT
SET vIdPass = NEW.id
INSERT INTO tbpass.fkUser VALUES vIdPass
END

当我尝试运行代码时,它会出现此错误"#1064 - 您的SQL语法出错;检查与您的MariaDB服务器版本相对应的手册,以便在#SET; SET vIdPass = NEW.id INSERT INTO tbpass.fkUser VALUES vIdPass END'附近使用正确的语法。在第8行"

所以任何人都可以说明我为什么会收到此错误?

1 个答案:

答案 0 :(得分:1)

需要DELIMITERs和语句终止符。

DELIMITER //
CREATE TRIGGER tgIdPass
AFTER INSERT
ON tbuser FOR EACH ROW

BEGIN

DECLARE vIdPass INT;  -- terminate statements
...
END
//
DELIMITER ;