Mysql学习mysql触发器实例一则

《Mysql学习mysql触发器实例一则》要点:
本文介绍了Mysql学习mysql触发器实例一则,希望对您有用。如果有疑问,可以联系我们。

导读:例子,实例学习mysql触发器的用法.一,准备二张测试表:1,测试表1 DROP TABLE IF EXISTS test; CREATE TABLE test ( id bigin...

例子,实例学习mysql触发器的用法.MYSQL应用

一,准备二张测试表:
1,测试表1
 MYSQL应用

DROP TABLE IF EXISTS test;                
CREATE TABLE test (
  id           bigint(11) unsigned NOT NULL AUTO_INCREMENT,
  name         varchar(100) NOT NULL DEFAULT '',
  type         varchar(100),
  create_time  datetime,
  PRIMARY KEY (ID)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
 

2,测试表2
 MYSQL应用

DROP TABLE IF EXISTS test_hisy;                
CREATE TABLE test_hisy (
  id           bigint(11) unsigned NOT NULL AUTO_INCREMENT,
  operation    varchar(100) COMMENT '操作类型',
  PRIMARY KEY (ID)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

二,mysql触发器实例
1,insert触发器
表test新增记录后,将type值为“1”的记录同时插入到test_hisy表中(AFTER INSERT:录入后触发,BEFORE INSERT:录入前触发)
 MYSQL应用

DELIMITER //
DROP TRIGGER IF EXISTS t_after_insert_test//
CREATE TRIGGER t_after_insert_test
AFTER INSERT ON test
FOR EACH ROW
BEGIN
    IF new.type='1' THEN
    insert into test_hisy(name,type,create_time,operation)
    values(new.name,new.type,new.create_time,'insert');
    END IF;
END;//

2,update触发器
表test修改时,若type值为“2”则将修改前的记录同时插入到test_hisy表中(AFTER UPDATE:修改后触发,BEFORE UPDATE:修改前触发)
 MYSQL应用

DELIMITER //
DROP TRIGGER IF EXISTS t_before_update_test//
CREATE TRIGGER t_before_update_test
BEFORE UPDATE ON test
FOR EACH ROW
BEGIN
    IF new.type='2' THEN
    insert into test_hisy(name,operation)
    values(old.name,old.type,old.create_time,'update');
    END IF;
END;//

3,delete触发器
表test删除记录前,将删除的记录录入到表test_hisy中(AFTER DELETE:删除后触发,BEFORE DELETE:删除前触发)
 MYSQL应用

DELIMITER //
DROP TRIGGER IF EXISTS t_before_delete_test//
CREATE TRIGGER t_before_delete_test
BEFORE DELETE ON test
FOR EACH ROW
BEGIN
    insert into test_hisy(name,'delete');
END;//

备注:以上触发器例子中出现的new为修改后的数据,old为修改前的数据.MYSQL应用

相关文章

在正式开始之前,我们先来看下 MySQL 服务器的配置和版本号信...
> [合辑地址:MySQL全面瓦解](https://www.cnblogs.c...
物理服务机的CPU、内存、存储设备、连接数等资源有限,某个时...
1 回顾 上一节我们详细讲解了如何对数据库进行分区操作,包括...
navicat查看某个表的所有字段的详细信息 navicat设计表只能一...
文章浏览阅读4.3k次。转载请把头部出处链接和尾部二维码一起...