【发布时间】:2017-02-10 21:03:03
【问题描述】:
我想创建一个触发器,以便在第一个表中插入一个值时在另一个表中插入一个值。
到目前为止,我的触发器如下所示:
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 vIdPass = NEW 附近使用正确的语法.id INSERT INTO tbpass.fkUser VALUES vIdPass END' at line 8"
所以任何人都可以阐明我为什么会收到此错误?
【问题讨论】:
-
DECLARE vIdPass INT后面不应该有分号; -
不需要变量。就做
INSERT INTO tbpass.fkUser VALUES (NEW.id)