0
点赞
收藏
分享

微信扫一扫

[Mysql基础]-- 触发器操作


mysql触发器操作

一、语法说明

 

-- 1、创建触发器
CREATE TRIGGER trigger_name AFTER 监听的事件(update、insert、delete等) ON 监听的表名称 FOR EACH ROW
BEGIN
编写一般的sql语句,但是一定要以分号(;)结尾
END
;



-- 2、删除触发器
drop TRIGGER trigger_name;

//注意:
-- (1)触发器的名称最多为64个字符
-- (2)创建触发器必须要有足够的权限
-- (3)不能在同一张表上同时使用触发器操作本表

 

 

 

二、建表举例

测试表一:

 

DROP TABLE IF EXISTS tab11;
CREATE TABLE tab11(
tab11_id varchar(11)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='测试表一';

 

 

 

测试表二:

 

DROP TABLE IF EXISTS tab22;
CREATE TABLE tab2(
tab22_id varchar(11)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='测试表2';

 

举例说明:

t_after_insert_on_tab11

 作用:增加tab11表记录后自动将记录增加到tab22表中

1

2

3

4

5

6

7

​DROP​​​ ​​TRIGGER​​​ ​​IF EXISTS t_after_insert_on_tab11;​

​CREATE​​​ ​​TRIGGER​​​ ​​t_after_insert_on_tab11​

​AFTER​​​ ​​INSERT​​​ ​​ON​​​ ​​tab11​

​FOR​​​ ​​EACH ROW​

​BEGIN​

​insert​​​ ​​into​​​ ​​tab22(tab22_id) ​​​​values​​​​(new.tab11_id);​

​END​​​​;​

 

插入数据测试

1

​INSERT​​​ ​​INTO​​​ ​​tab11(tab1_id) ​​​​values​​​​(​​​​'112'​​​​);​

查看表中是否新增了结果

1

2

​SELECT​​​ ​​* ​​​​FROM​​​ ​​tab11;​

​SELECT​​​ ​​* ​​​​FROM​​​ ​​tab22;​

 

 

 

 

注:以上测试已经通过,此处只是举例说明监控insert事件,其他时间可自由更改!

 

 

举报

相关推荐

0 条评论