create trigger case_head
before update on case_head
for each row
begin
INSERT INTO log_case_head(id,number) values (old.id,old.number);
end//
以上代码是一个成功的trigger,其功能是当表case_head在更新前,先备份到另一个表中,但要只有update才能备份。
我想当,delete,insrt时,都要做备份。
我不想写三次trigger
你有好的法子吗?
谢谢。我们老师说,mysql,只能update与delete合并,Insert要单独写。
6 个解决方案
#1
没有办法,在MYSQL分3次
#2
但是我不想写三次,我觉得太2
#3
呵呵,那就更换数据库吧
#4
MYSQL只能分开写,不支持合并。 MYSQL中连update 与 delete 都不能合并。
#5
没必要较真非要写一个
#6
mysql> CREATE TRIGGER DML_LOG
-> BEFORE
-> DELETE OR INSERT OR UPDATE
-> on t7
-> for each row
-> begin
-> insert into t8
-> valuees(old.catid,old.arrchildid,old.catname);
-> end;
无论是 or 还是 ,都是报语法错误。
用Navicat for Mysql 复选框也是只能选一个。
-> BEFORE
-> DELETE OR INSERT OR UPDATE
-> on t7
-> for each row
-> begin
-> insert into t8
-> valuees(old.catid,old.arrchildid,old.catname);
-> end;
无论是 or 还是 ,都是报语法错误。
用Navicat for Mysql 复选框也是只能选一个。
#1
没有办法,在MYSQL分3次
#2
但是我不想写三次,我觉得太2
#3
呵呵,那就更换数据库吧
#4
MYSQL只能分开写,不支持合并。 MYSQL中连update 与 delete 都不能合并。
#5
没必要较真非要写一个
#6
mysql> CREATE TRIGGER DML_LOG
-> BEFORE
-> DELETE OR INSERT OR UPDATE
-> on t7
-> for each row
-> begin
-> insert into t8
-> valuees(old.catid,old.arrchildid,old.catname);
-> end;
无论是 or 还是 ,都是报语法错误。
用Navicat for Mysql 复选框也是只能选一个。
-> BEFORE
-> DELETE OR INSERT OR UPDATE
-> on t7
-> for each row
-> begin
-> insert into t8
-> valuees(old.catid,old.arrchildid,old.catname);
-> end;
无论是 or 还是 ,都是报语法错误。
用Navicat for Mysql 复选框也是只能选一个。