最近研究触发器执行,稍微总结一下,以后继续补充:
MySql数据库中的触发器应用:
触发器使于用insert/delete/update的面前或者前面(after/before)执行的sql句语。
创立触发器需注意要加上delimiter分隔符,以//开始间中写触发器以//开头。
创立一个user1表
create table user1(
id int PRIMARY key AUTO_INCREMENT,
username varchar(20),
createtime date);
再创立一个user_log表
create table user_log(
id int PRIMARY key AUTO_INCREMENT,
ext int);
创立一个触发器(insert后执行的触发器)
delimiter//
create trigger trg_user_insert after insert on user1
for EACH row
begin
insert into user_log(ext) values(NEW.id); new.id意为把user1表中的id传入user_log表中的ext中
end;
//
测试:插入user1表中数据后会主动执行触发器
insert into user1 values(null,'zhangsan11',now());
删除这个触发器的法方
DROP TRIGGER trg_user_insert;
在insert中有new的虚拟表,在delete中有old的虚拟表,在update中有new和old的虚拟表。
触发器中before:
常于用update中在修改后if ....then....end if
学艺不精,暂解理这么多,如有误请复回2013-04-09 16:58:23
文章结束给大家分享下程序员的一些笑话语录: Borland说我很有前途,Sun笑了;Sun说我很有钱,IBM笑了;IBM说我很专业,Sybase笑了;Sybase说我数据库很牛,Oracle笑了;Oracle说我是开放的,Linux笑了;Linux说我要打败Unix,微软笑了;微软说我的系统很稳定,我们都笑了。