MySQL触发器简单介绍及使用实例

1.创建触发器

CREATE TRIGGER [触发器名称] –创建一个触发器

{BEFORE|AFTER} –设置触发器事件在发生在数据更改的之前还是之后执行。

{INSERT|UPDATE|DELETE}–设定在什么情况时触发事件:插入、更新或者删除数据时。

ON [表名称]–触发器是属于某一个表的:不能给同一张表的同一个事件安排两个触发器。

FOR EACH ROW–触发器执行的间隔。这句表示触发事件是行级的,对每一行有操作时都要触发一次事件。

[触发器SQL语句]–当触事件的时候,执行的语句。

2.删除触发器

DROP TRIGGER [触发器名称];

3.实例说明

创建两个表tab1,tab2;

DROP TABLE IF EXISTS tab1;
CREATE TABLE tab1(tab1_id VARCHAR(11));
DROP TABLE IF EXISTS tab2;
CREATE TABLE tab2(tab1_id VARCHAR(11));

创建触发器t_afterinsert_on_tab1:

DROP TRIGGER IF EXISTS t_afterinsert_on_tab1;
CREATE TRIGGER t_afterinsert_on_tab1 
AFTER INSERT ON tab1
FOR EACH ROW
BEGIN
     insert into tab2(tab2_id) values(new.tab1_id);
END;

该触发器实现了当增加tab1表id后自动将id增加到tab2中;
测试:

INSERT INTO tab1(tab1_id) values('0001');
SELECT * FROM tab1;
SELECT * FROM tab2;

可以发现数据已经自动更改。

在mysql控制台中,因为;代表着语句结束,所以用delimiter来设置语句以什么结束。
用法实例:

mysql>delimiter //
mysql>CREATE TRIGGER...
...
->END;
->//
mysql>delimiter ;

最后,恢复;为结束符。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值