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

相关推荐
wespaul3 小时前
VeapAI 自然语言操作实战|第 05 篇:向量与召回——从知识条目到可检索资产
大数据·数据库·人工智能·milvus
一只鹿鹿鹿8 小时前
政务外网整体设计方案(PPT)
大数据·数据库·web安全·系统安全·流程图·政务
2603_965148118 小时前
社区与学习资源:从入门到精通的API选品学习路径
数据库·人工智能·python·学习·数据挖掘
for_ever_love__8 小时前
MySQL ORDER BY 排序优化:从 Using filesort 到索引有序扫描(含双路 / 单路排序原理)
java·mysql·优化·存储·by·order·filesort
AI砖家8 小时前
安全进入 Agent Loop:2027 年 Coding Agent 的决胜点
数据库·安全·codex·vibecoding
wangqiaowq9 小时前
SQL server C盘空间占满的处理
数据库·sql
文人sec9 小时前
SQL基础入门笔记 | 从零基础到掌握核心查询语句
数据库·笔记·sql
数字新视界9 小时前
机房动环监控提升运维效率
大数据·服务器·数据库·动环监控系统·动力与环境监控系统
SelectDB技术团队9 小时前
冷热分层从建到验:Storage Policy 创建、表级与分区级绑定、SHOW TABLETS 验证的完整命令
大数据·数据库·elasticsearch·搜索引擎·数据分析·apache doris·冷热分层
lambo mercy11 小时前
Day3:结构化输出
java·数据库·oracle