mysql只有基于行的trigger,
对于before trigger可以通过下面的方法 实现基于语句的trigger(只执行一次):
因为基于before trigger 除了处理的第一条记录,别的row_count()都会返回1,但这并非真正意义上的单条sql语句的触发器。这可能是mysql 的一个bug, 有可能以后的版本中会没有这种情况,所以,用之前请先测试
create trigger fake_statement_trigger
before insert on sometable
for each row
begin
declare v_row_count int default row_count();
if v_row_count <> 1 then
--your code
end if;
end;
高性能mysql第三版 p317
转载请注明源出处
QQ 273002188 欢迎一起学习