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 ; #结束$$的有效性更换成;
相关推荐
NineData38 分钟前
NineData将亮相第27届GOPS全球运维大会,并带来技术演讲
运维·数据库·ninedata·智能·ai agent·数据管理工具·gops全球运维大会
Java水解1 小时前
MySQL 中 ROW_NUMBER() 函数详解
后端·mysql
不良人天码星1 小时前
谈谈redis的持久化
数据库·redis·缓存
qq_479875432 小时前
TimerFd & Epoll
java·服务器·数据库
绵绵细雨中的乡音2 小时前
MySQL 数据库核心操作全解析:从创建到备份与连接管理
数据库·oracle
wayuncn3 小时前
哈尔滨电商企业服务器托管方案
运维·服务器·数据库
重整旗鼓~4 小时前
27.Redisson基本使用和可重入性
数据库·redis·缓存
瑶总迷弟4 小时前
使用 Docker 和 docker-compose 快速部署 openGauss
linux·数据库·云原生·eureka
C.R.xing4 小时前
Pyspark分布式访问NebulaGraph图数据库
数据库·分布式·python·pyspark·nebulagraph
九皇叔叔4 小时前
深度解析 PostgreSQL 中的 ctid、xmin、xmax:从原理到实战
数据库·postgresql