首页 > 数据库 >MySQL触发器

MySQL触发器

时间:2024-04-17 09:22:36浏览次数:31  
标签:INSERT 触发器 OLD 变量 MySQL NEW

MySQL触发器

触发器是预先定义的一段SQL语句,当在某个表上执行INSERT/UPDATE/DELETE操作之前或之后,会自动执行触发器。

创建触发器

CREATE TRIGGER trigger_name
AFTER/BEFORE INSERT/UPDATE/DELETE ON table_name
FOR EACH ROW
BEGIN
    -- 触发器操作的SQL语句
END;

查看触发器

SHOW TRIGGERS;

删除触发器

DROP TRIGGER IF EXISTS trigger_name;

NEW与OLD变量

使用OLD和NEW变量,可以在触发器中获取发生变化的记录内容:

触发器类型 描述 使用
INSERT 型触发器 当插入新数据时触发 使用 NEW 变量引用新数据
UPDATE 型触发器 当更新数据时触发 使用 OLD 变量引用修改之前的数据,NEW 变量引用修改后的数据
DELETE 型触发器 当删除数据时触发 使用 OLD 变量引用将要或已经删除的数据

标签:INSERT,触发器,OLD,变量,MySQL,NEW
From: https://www.cnblogs.com/yangxuanzhi/p/18139729

相关文章

  • MySQL存储过程与函数
    MySQL存储过程与函数存储过程创建、调用、删除创建CREATEPROCEDURE存储过程名(参数列表)BEGIN--SQL语句END;调用CALL存储过程名(参数值);删除DROPPROCEDUREIFEXISTS存储过程名;函数创建、调用、删除创建CREATEFUNCTION函数名(参数列表)RETURNS返......
  • MySQL游标
    MySQL游标创建游标DECLAREcursor_nameCURSORFORselect_statement;使用游标OPEN光标OPENcursor_name;FETCH光标FETCHcursor_nameINTOvar_name[,var_name]...CLOSE光标CLOSEcursor_name;循环获取游标DECLAREemp_reaultcursorforselect*fromemp;D......
  • Mysql低版本中处理row_number()函数的适配问题
    在最近的项目中遇到了mysql8.0版本中row_number()函数在迁移数据库低版本mysql5.0版本无法使用的问题。具体sql如下:1SELECTDATE(a.CRETIFICATE_DATE)ASNAME,COUNT(*)ASCOUNTFROM2(SELECTCERTIFICATE_DATE,ENABLED,CERTIFICATION_STATE,ROW_NUMBER()over(PARTIT......
  • MySQL视图
    MySQL视图创建或修改视图创建视图CREATE[ORREPLACE][ALGORITHM={UNIFINED|MERGE|TEMPLATE}]VIEWview_name[(column_list)]ASselect_statement[WITH[CASCADED|LOCAL]CHECKOPTION]修改视图ALTER[ALGORITHM={UNIFINED|MERGE|TEMPLATE}]VIEWview_n......
  • MySQL登录
    MYSQL登录登录MySQL查看MySQL默认密码:安装MySQL的时候,会生成一个随机密码sudogreppassword/var/log/mysqld.log登录MySQL,执行下面的命令,然后输入密码mysql-uroot-p更改root密码方法1使用root用户登录mysql后,输入:setpassword='{password}';需要注意,密码......
  • MySQL的三大日志及事务
    标题其实不太准确,应该是MySQL的binlog,InnoDB的redolog和undolog 事务的四大特征:ACID, 其中原子性(A)、隔离性(I)和持久性(D)是手段, 一致性(C)是目标。Atomicity   原子性 ==》由undolog实现Consistency一致性 ==》最终的目标,由AID共同来保证Isolation   ......
  • Linux安装MySQL
    Linux安装MySQL下载安装包下载.rpm文件sudowgethttps://repo.mysql.com//mysql80-community-release-el7-11.noarch.rpm执行rpm命令,安装rpm数据库sudorpm-Uvhmysql80-community-release-el7-11.noarch.rpm安装mysqlsudoyuminstallmysql-servermysql服务......
  • ubuntu安装mysql详细教程
    安装环境:VMwareWorkstationPro16系统:ubuntu64位 点击左下角应用程序 继续点击终端有的系统版本不同可以能也叫terminal 点击进入过后输入sudoaptupdate来升级sudo 第一次使用sudo命令会要管理员密码也就是你登录ubuntu的密码(输入密码时是不会显示出来的!) 下载......
  • mysql sql优化
    1select*杜绝使用不会走索引增加资源消耗2小表驱动大表大表不仅仅是现在大更可能是以后大的表一直新增数据的表3提升groupby效率给groupby字段设置索引4一行一行的插入改为批量插入5大数据表查询时使用limit限制数据的条数深翻页优化1》使用自增id2......
  • mysql Explan命令 如何分析语句
    MySQL中的EXPLAIN命令是一种用于分析查询语句执行计划的强大工具,它可以帮助您了解MySQL优化器如何处理SQL查询,揭示查询执行过程中的关键细节,如表的读取顺序、数据读取操作的操作类型、所使用的索引等。通过EXPLAIN分析查询语句,您可以找出潜在的性能瓶颈,进行针对性的......