MySQL中触发器的使用

触发器

模板

sql 复制代码
-- BEFORE|AFTER表是在数据库事件发生之前或之后执行
-- INSERT|UPDATE|DELETE表是发生什么数据库事件
-- FOR EACH ROW表示为每一行trigger_body数据都执行该触发器
CREATE TRIGGER trigger_name
BEFORE|AFTER INSERT|UPDATE|DELETE
ON table_name FOR EACH ROW
BEGIN
	trigger_body;
END;

增删改查

sql 复制代码
#在已知数据库内,查询触发器
SHOW TRIGGERS;
SELECT * FROM information_schema.TRIGGERS WHERE TRIGGER_NAME = '触发器名';
#查询所有的触发器
SELECT * FROM information_schema.TRIGGERS(WHERE TRIGGER_SCHEMA = '数据库名');
#删除触发器
DROP TRIGGER IF EXISTS trigger_name;

示例

sql 复制代码
-- 每次新增tab1表的时候都往tab2表中初始化数据
-- tab2表中的tenantId是引用的tab1表中的,只需要用NEW.tenant_id引用即可
CREATE TRIGGER tab2_trigger
AFTER INSERT
ON tab1 FOR EACH ROW
BEGIN
	INSERT INTO tab2 (id, name, tenant_id) VALUES('asset_type', '资产类型',NEW.tenant_id);
	INSERT INTO tab2 (id, name, tenant_id) VALUES('dept_id', '所属部门', NEW.tenant_id);
END;
相关推荐
大爱编程♡2 小时前
Spring IoC&DI
数据库·mysql·spring
周末吃鱼3 小时前
MySQL CTE:SQL查询新模式
数据库·sql·mysql
HL计算机菜鸟3 小时前
一对多的实现关系 在数据库表中多的一方添加字段,来关联一的一方主键
mysql
Psycho_MrZhang4 小时前
MySQL/PgSQL设计思想总结
数据库·mysql
风吹落叶花飘荡4 小时前
将mysql数据库的内容备份至阿里云 oss归档存储
数据库·mysql·阿里云
数据大魔方4 小时前
【期货量化入门】期权交易入门:从零开始学期权量化(TqSdk完整教程)
数据库·python·mysql·算法·区块链·程序员创富
w***95495 小时前
mysql之如何获知版本
数据库·mysql
q_19132846956 小时前
基于Springboo和vue开发的企业批量排班系统人脸识别考勤打卡系统
前端·javascript·vue.js·spring boot·mysql·毕业设计·人脸识别
风吹落叶花飘荡7 小时前
mysql数据库创建新用户,并只给其必要的权限
数据库·mysql
月度空间7 小时前
MySQL主从复制+Redis集群 数据库高可用实战教程(2024最新版)
mysql