我正在尝试创建一个可以做两件事的触发器:
UPDATE
完成之前,将表X中的一行复制到表Y中的一行UPDATE
之后。 1完成这就是我现在所拥有的:
delimiter //
create trigger log
before update on opnaar
for each ROW
begin
set @a = opnaar.id;
set @c = opnaar.initials;
set @d = opnaar.revised;
set @f = opnaar.course;
insert into log(id,init_old,date_old,date_new,course) values (@a,@c,@d,NOW(),@f);
end;
after update on opnaar
for each ROW
begin
set @e = opnaar.initials;
insert into log(init_new) values (@e);
end;
但我认为不可能只为表中已存在的行添加一个值。至少,不是我试图这样做的方式。我应该将after update
放在第一个动作中吗?
示例:我有这样的内容:
我想将course
,revised
,initials
和id
复制到另一个表格。这就是我的第一个行动应该做的事情。
在教师更新了该表中的内容之后,新的首字母(但与旧的首字母在同一列中)应该被复制到表Y.这就是我的第二个动作应该做的。
我做错了什么?
谢谢。
答案 0 :(得分:0)
查看CREATE TRIGGER语法。在一个触发器中无法指定AFTER和BEFORE选项。