mysql触发器

最近在看数据库相关的东西,工作中貌似没怎么碰到,对于一些细节方面记得不是很深,于是复习之,记录中

例子
create trigger 
newperson  before insert on  person  for each row set new.id = 'id001';

Before与After区别:
before:(insert、update)可以对new进行修改,after不能对new进行修改。两者都不能修改old数据
在本表插入字段值需要用new计算,只能用before,在别的表中记录插入成功记录或统计插入的条数用after

对于INSERT语句,只有NEW是合法的;对于DELETE语句,只有OLD才合法;而UPDATE语句可以在和NEW以及OLD同时使用

我的理解:
new指的是sql语句中的值
old指的是原来表中的值

  insert update delete
before new  new,old(read) old
after N/A old(read) old


你可能感兴趣的:(mysql触发器)