mysql绕过行触发器,实现语句触发器

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  欢迎一起学习
请使用浏览器的分享功能分享到微信等