展会信息港展会大全

mysql触发器实例 delete触发器 update触发器 insert触发器
来源:互联网   发布日期:2016-01-27 15:41:23   浏览:2186次  

导读:测试表1DROP TABLE IF EXISTS test;CREATE TABLE test ( id bigint(11) unsigned NOT NULL AUTO_INCREMENT, name varchar(100) NOT NULL DEFAULT 39; 39;, type varchar(100), create_ ...

测试表1

DROP TABLE IF EXISTS test;

CREATE TABLE test (

idbigint(11) unsigned NOT NULL AUTO_INCREMENT,

namevarchar(100) NOT NULL DEFAULT '',

typevarchar(100),

create_timedatetime,

PRIMARY KEY (ID)

) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

测试表2

DROP TABLE IF EXISTS test_hisy;

CREATE TABLE test_hisy (

idbigint(11) unsigned NOT NULL AUTO_INCREMENT,

namevarchar(100) NOT NULL DEFAULT '',

typevarchar(100),

create_timedatetime,

operationvarchar(100) COMMENT '操作类型',

PRIMARY KEY (ID)

) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

insert触发器

表test新增记录后,将type值为 1 的记录同时插入到test_hisy表中(AFTER INSERT:录入后触发, BEFORE INSERT:录入前触发)

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;//

update触发器

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

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, type, create_time, operation)

values(old.name, old.type, old.create_time, 'update');

END IF;

END;//

delete触发器

表test删除记录前,将删除的记录录入到表test_hisy中(AFTER DELETE:删除后触发, BEFORE DELETE:删除前触发)

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, type, create_time, operation)

values(old.name, old.type, old.create_time, 'delete');

END;//

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

赞助本站

人工智能实验室

相关热词: 触发器 mysql

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港