mysql--触发器使用
来源:互联网 发布:淘宝店铺内部人员解封 编辑:程序博客网 时间:2024/06/03 23:39
CREATE TRIGGER trigger_name
trigger_time
trigger_event ON tbl_name
FOR EACH ROW
trigger_stmt
其中:
trigger_name:标识触发器名称,用户自行指定;
trigger_time:标识触发时机,取值为 BEFORE 或 AFTER;
trigger_event:标识触发事件,取值为 INSERT、UPDATE 或 DELETE;
tbl_name:标识建立触发器的表名,即在哪张表上建立触发器;
trigger_stmt:触发器程序体,可以是一句SQL语句,或者用 BEGIN 和 END 包含的多条语句。
例子1:
创建两个表,目的是在一个表里添加一条记录,另一个表也添加一条记录:
DROP TABLE IF EXISTS tab1;
CREATE TABLE tab1(
tab1_id varchar(11)
);
DROP TABLE IF EXISTS tab2;
CREATE TABLE tab2(
tab2_id varchar(11)
);
创建触发器:t_afterinsert_on_tab1
作用:增加tab1表记录后自动将记录增加到tab2表中
delimiter ||
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||
delimiter ;
测试:
INSERT INTO tab1(tab1_id) values('0001');
查看结果:
SELECT * FROM tab1;
SELECT * FROM tab2;
例子2:
创建两个表,目的是在一个表里删除一条记录,另一个表也删除一条记录:
delimiter ||
DROP TRIGGER IF EXISTS t_afterdelete_on_tab1||
CREATE TRIGGER t_afterdelete_on_tab1
AFTER DELETE ON tab1
FOR EACH ROW
BEGIN
delete from tab2 where tab2_id=old.tab1_id;
END||
测试:
DELETE FROM tab1 WHERE tab1_id='0001';
看看结果
SELECT * FROM tab1;
SELECT * FROM tab2;
- 【mysql 触发器】触发器使用
- MySQL触发器的使用
- MySQL触发器的使用
- MySQL触发器的使用
- Mysql 触发器的使用
- MySQL触发器的使用
- MySql 中的 触发器使用
- mysql中使用触发器
- mysql 触发器的使用
- mysql触发器使用
- MYSQL触发器使用
- mysql系列:触发器使用
- mysql 触发器的使用
- mysql触发器的使用
- mysql触发器的使用
- MySQL触发器的使用
- MySql使用触发器
- mysql 触发器的使用
- springmvc常用注解标签详解
- VS2013+Cmake便于g2o遇到问题:error MSB3073: 命令“setlocal D:\tools\cmake-3.6.0-rc3-win32-x86\bin\cmake.exe -D
- AI的过去和未来
- 正则的几道练习
- 用户管理,组管理,权限管理
- mysql--触发器使用
- 面向对象程序编程,自己之前不知道的小知识,学习笔记
- laravel框架session使用教程
- A. Unimodal Array(段增减性
- springMvc无法访问静态文件
- 复选框选中事件
- python3.6 安装builtwith模块
- Asteroids!
- 快速幂模板(病毒)