MySQL----触发器

一、概述

触发器是在SQL执行了insert/update/delete操作前/后,执行事先定义好的SQL语句,在Mysql中,触发器只能做到行级触发,也就是如果一条语句修改了10行,那么触发器就会触发10次。

二、语法

创建:

复制代码
create trigger 触发器名 after/before insert/update/delete on 表名 for each row
    begin
    -- SQL逻辑
    end;

展示当前所有的触发器:

复制代码
show triggers ;

删除:

复制代码
drop trigger 触发器名字;

在定义触发器中的SQL逻辑时,old表示操作前的数据,new表示操作之后的数据。

例如:

创建一个日志表:

复制代码
create table user_log(
    id int primary key auto_increment,
    opr varchar(10),
    user_name varchar(15),
    opr_time time
);

定义触发器:

复制代码
create trigger user_insert_trigger after insert on user_info for each row
    begin
        insert into user_log values (null,'insert',new.user_name,now());
    end;

执行语句:

复制代码
insert into user_info (id, user_name, password) values (null,'wangwu',123456);

user_log表中自动增加数据:

相关推荐
啦啦啦_99993 分钟前
Redis-2-queryFormat()方法
数据库·redis·缓存
玄同7651 小时前
SQLite + LLM:大模型应用落地的轻量级数据存储方案
jvm·数据库·人工智能·python·语言模型·sqlite·知识图谱
吾日三省吾码1 小时前
别只会“加索引”了!这 3 个 PostgreSQL 反常识优化,能把性能和成本一起打下来
数据库·postgresql
chian-ocean1 小时前
百万级图文检索实战:`ops-transformer` + 向量数据库构建语义搜索引擎
数据库·搜索引擎·transformer
那个村的李富贵1 小时前
解锁CANN仓库核心能力:50行代码搭建国产化AIGC图片风格迁移神器
mysql·信息可视化·aigc·cann
小Tomkk1 小时前
数据库 变更和版本控制管理工具 --Bytebase 安装部署(linux 安装篇)
linux·运维·数据库·ci/cd·bytebase
qq_12498707532 小时前
基于JavaWeb的大学生房屋租赁系统(源码+论文+部署+安装)
java·数据库·人工智能·spring boot·计算机视觉·毕业设计·计算机毕业设计
倒流时光三十年2 小时前
SpringBoot 数据库同步 Elasticsearch 性能优化
数据库·spring boot·elasticsearch
码农小卡拉3 小时前
深入解析Spring Boot文件加载顺序与加载方式
java·数据库·spring boot
怣503 小时前
MySQL多表连接:全外连接、交叉连接与结果集合并详解
数据库·sql