范例:
create trigger [触发名]
after insert on [表名]
for each row
begin #只执行一条语句的时候 去掉该行
update [表名] set user_id = new.id #这里的new表示新插入的值
end #只执行一条语句的时候 去掉该行
成功例子:
create trigger shop
before insert on ts_shop
for each row
set new.iid = new.id
案例2多个值:
create trigger shop
before insert on ts_shop
for each row
set new.iid = new.id ,new.num_iid = -new.id
1、是insert的 就不能再触发insert 只能触发更新或删除 其他也一样
2、如果是只有一条语句,则一定不要加begin 和end 否则永远无法创建成功
3、如果你在触发器里面对刚刚插入的数据进行了 insert/update, 则出现这个问题。因为会造成循环的调用.
应该使用set操作,而不是在触发器里使用 update,比如
create trigger InsertUser
begin
set new.user_power='[resource]'
end;
另外这里必须在插入之前来执行该触发器。
4、删除触发器 drop trigger [触发器名] 要在创建的数据库里面运行该语句
5、查询触发器
SELECT * FROM information_schema.triggers WHERE TRIGGER_NAME='[触发器名]';