当前位置:Gxlcms > 数据库问题 > mysql触发器

mysql触发器

时间: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   表名   函数   取值   

人气教程排行