我想创建一个触发器,以便在第一个表中插入值时在另一个表中插入值。
到目前为止,我的触发器看起来像这样:
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行"
所以任何人都可以说明我为什么会收到此错误?
答案 0 :(得分:1)
需要DELIMITERs
和语句终止符。
DELIMITER //
CREATE TRIGGER tgIdPass
AFTER INSERT
ON tbuser FOR EACH ROW
BEGIN
DECLARE vIdPass INT; -- terminate statements
...
END
//
DELIMITER ;