时间:2021-07-01 10:21:17 帮助过:24人阅读
3、作用
请参考mysql触发器的作用及语法
二、触发器操作
测试用表
CREATE TABLE `t_dept` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `dname` varchar(20) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=34 DEFAULT CHARSET=latin1
CREATE TABLE `t_diary` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `createtime` datetime NOT NULL, `dept` varchar(20) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=34 DEFAULT CHARSET=latin1
1、创建
CREATE TRIGGER tri_dept#触发器名 BEFORE INSERT #触发时间(有BEFORE、AFTER)、事件(有INSERT、DELETE、UPDATE) ON t_dept FOR EACH ROW #触发器作用的表 BEGIN #激活触发器后执行的语句,可以是多条,以";"分开 INSERT INTO t_diary VALUES (NULL, NOW(), new.dname); #new.dname为触发事件的列 END
触发器实现在向t_dept表中插入数据前先向t_diary中插入一条数据
CREATE TRIGGER tri_dept_add AFTER INSERT ON t_dept FOR EACH ROW BEGIN UPDATE t_diary SET dept = concat(dept ,new.dname) WHERE id = 32; END
2、查看
SHOW TRIGGERS;
3、删除
DROP TRIGGER 触发器名; #如DROP TRIGGER tri_dept_add;
mysql触发器
标签:default dia key nod arch span 表名 函数 取值