MySQL触发器基本结构

1、修改分隔符符号

delimiter $$
可以修改成$$ //都行
2、创建触发器函数名称

create trigger 函数名
3、什么样的操作触发,操作那个表

after:....之后触发

befor:....之前触发

insert:插入被触发

update:修改被触发

delete:删除被触发

on 表名

实例:在users表被添加信息后触发

after insert on users
4、for each row 声明每次触发都被执行

5、开始触发器代码

begin

6、触发器触发后执行代码块
7、结束触发器

end ;
8、修改分隔符

delimiter ;

sql 复制代码
INSERT into `user`
(username,`password`)
values('貂2蝉6166','123');
# 使用;就代表会停止sql
# 添加的触发器
# 1、各种唯一索引限制导致报错
# 2、de limit er 单词错误
# 3、结束的时候先写;结束在将$$更换成;
delimiter $$ # 分隔符
CREATE TRIGGER after_inster_user123 --创建触发器的名称
after insert on `user` --用户表执行插入操作之后被出发的触发器
for each row -- 每行数据都要进行触发
BEGIN
 -- 触发器的语句
 --signal sqlstate '45000'代表错误,会停止操作,包含插入语句也会取消commit操作
 signal sqlstate '45000' set message_text='我们认为的停止了数据commit';
 end;
 $$
 delimiter ; #结束$$的有效性更换成;
相关推荐
数智化管理手记1 小时前
精益生产中的TPM管理是什么?一文破解设备零故障的密码
服务器·网络·数据库·低代码·制造·源代码管理·精益工程
翊谦1 小时前
Java Agent开发 Milvus 向量数据库安装
java·数据库·milvus
難釋懷2 小时前
OpenResty实现Redis查询
数据库·redis·openresty
别抢我的锅包肉3 小时前
【MySQL】第四节 - 多表查询、多表关系全解析
数据库·mysql·datagrip
Database_Cool_3 小时前
OpenClaw-Observability:基于 DuckDB 构建 OpenClaw 的全链路可观测体系
数据库·阿里云·ai
刘~浪地球3 小时前
Redis 从入门到精通(五):哈希操作详解
数据库·redis·哈希算法
zzh0814 小时前
MySQL高可用集群笔记
数据库·笔记·mysql
Shely20174 小时前
MySQL数据表管理
数据库·mysql
爬山算法4 小时前
MongoDB(80)如何在MongoDB中使用多文档事务?
数据库·python·mongodb
APguantou4 小时前
NCRE-三级数据库技术-第2章-需求分析
数据库·需求分析