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表中自动增加数据:

相关推荐
暗夜猎手-大魔王4 小时前
转载--AI Agent 架构设计:工具返回值设计(OpenClaw、Claude Code、Hermes Agent 对比)
数据库
windawdaysss4 小时前
离线学习SQL和数据库的工具及其部署
数据库·sql·学习
Rubin智造社4 小时前
Claude Code开发者大会系列8:从脚本到智能体——独立开发者的“AI原生”工作流转型
数据库·人工智能·独立开发者·agentic工作流·ai原生开发·实操指南
一条泥憨鱼4 小时前
深入理解 MySQL 索引:原理、分类与优化实战
数据库·mysql
楠枬4 小时前
Redis 缓存
数据库·redis·缓存
一条泥憨鱼4 小时前
详解MySQL事务(超详细版)
java·数据库·mysql·spring·maven·后端开发
j7~4 小时前
【MYSQL】 数据库的常见数据类型--详解
数据库·mysql·decimal·varchar·数据库的基本类型
rising start14 小时前
二、全面理解MySQL架构
mysql·架构
星星也在雾里14 小时前
PgBouncer 解决 PostgreSQL 连接数超限 + 可视化监控
数据库·postgresql
bqq1986102614 小时前
MySQL性能优化
mysql·mysql优化