我对MySQL很新。我完全有能力进行查询和创建表格,但之前从未尝试过触发器。
CREATE TRIGGER TrigMora AFTER INSERT ON cliente
REFERENCING NEW AS N
INSERT INTO mora(Email) VALUES (N.Email);
我收到了这个错误:
错误代码:1064。您的SQL语法有错误;检查 手册,对应右边的MySQL服务器版本 在'REFERENCING NEW AS N INSERT INTO mora(电子邮件)附近使用的语法 VALUES(N.Email)'在第3行
我想知道我做错了什么。 这个想法似乎很基本。在“cliente”表上新插入后,“Email”行中的信息应复制到表“mora”。
答案 0 :(得分:2)
只需删除“REFERENCING NEW AS N,然后使用NEW.Email
您还错过了触发器代码周围的“BEGIN”和“END”
你也错过了“每行”
检查mysql触发器引用,这里我复制一个mysql触发器示例:
delimiter //
CREATE TRIGGER upd_check BEFORE UPDATE ON account
FOR EACH ROW
BEGIN
IF NEW.amount < 0 THEN
SET NEW.amount = 0;
ELSEIF NEW.amount > 100 THEN
SET NEW.amount = 100;
END IF;
END;//
delimiter ;
复制自:MYsql-reference