返回顶部
首页 > 资讯 > 数据库 >MySQL学习笔记(12):触发器
  • 714
分享到

MySQL学习笔记(12):触发器

MySQL学习笔记(12):触发器 2021-06-20 02:06:49 714人浏览 猪猪侠
摘要

本文更新于2019-06-23,使用Mysql 5.7,操作系统为Deepin 15.4。 目录sql语句示例 SQL语句 为了便于描述,此处将创建触发器的DDL复述一次,其已于“SQL”章节描述。 CREATE TRIGGER

MySQL学习笔记(12):触发器

本文更新于2019-06-23,使用Mysql 5.7,操作系统为Deepin 15.4。

目录

  • sql语句
  • 示例

SQL语句

为了便于描述,此处将创建触发器的DDL复述一次,其已于“SQL”章节描述。

CREATE TRIGGER triggername BEFORE|AFTER INSERT|UPDATE|DELETE
ON tablename FOR EACH ROW
statement_list

在statement_list中使用别名OLDNEW来引用触发器中发生变化的旧记录和新记录内容。目前触发器只支持行级触发,不支持语句级触发。

触发器是行触发的,按照BEFORE触发器、行操作、AFTER触发器的顺序执行,任何一步出错都不会继续执行余下操作。如果是事务表,则会整个作为一个事务回滚。对INSERT INTO ... ON DUPLICATE KEY UPDATE ...语句,若有重复主键的记录需进行UPDATE,触发顺序为BEFORE INSERTBEFORE UPDATEAFTER UPDATE;若没有重复主键的记录直接INSERT,触发顺序为BEFORE INSERTAFTER INSERT

statement_list可以通过存储过程或函数的OUTINOUT参数将数据返回触发器,但不能调用直接RETURNS的函数。也不能显式或隐式开始或结束事务,如START TRANSACTioNCOMMITROLLBACK

示例

DELIMITER ;;

CREATE TRIGGER trigger_test BEFORE UPDATE
ON t FOR EACH ROW
BEGIN
	INSERT INTO history(old_id, old_value, new_id, new_value) VALUES (OLD.id, OLD.value, NEW.id, NEW.value);
END;;

DELIMITER ;
您可能感兴趣的文档:

--结束END--

本文标题: MySQL学习笔记(12):触发器

本文链接: https://lsjlt.com/news/7036.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • MySQL学习笔记(12):触发器
    本文更新于2019-06-23,使用MySQL 5.7,操作系统为Deepin 15.4。 目录SQL语句示例 SQL语句 为了便于描述,此处将创建触发器的DDL复述一次,其已于“SQL”章节描述。 CREATE TRIGGER ...
    99+
    2021-06-20
    MySQL学习笔记(12):触发器
  • MySQL学习笔记
    作者: Grey 原文地址:MySQL学习笔记 说明 注:本文中的SQL语句如果用到了特定方言,都是基于MySQL数据库。 关于DDL DDL 的英文全称是 Data Definition Language,中文是数据定义语言。它定义了...
    99+
    2015-01-17
    MySQL学习笔记
  • MySQL 学习笔记
    😀😀😀创作不易,各位看官点赞收藏. 文章目录 MySQL 学习笔记1、`DQL` 查询语句1.1、基本查询1.2、函数查询1.2.1、单行函数1...
    99+
    2023-10-01
    mysql 学习 笔记
  • MySQL 学习笔记 (一)
    1.InnoDB and Online DDL ALTER TABLE tbl_name ADD PRIMARY KEY (column), ALGORITHM=INPLACE, LOCK=NONE; https://dev.mysql.c...
    99+
    2016-12-04
    MySQL 学习笔记 (一)
  • MySQL学习笔记-day01
    1、数据库概述及数据准备 1.1、SQL概述 SQL,全称Structured Query Language,SQL用来和数据库打交道,完成和数据库的通信,SQL是一套标准。(90%以上的SQL都是通用的)。 SQL:结构化语言,是一门标...
    99+
    2017-10-15
    MySQL学习笔记-day01
  • MySQL 学习笔记(五)
    mysqldump 与 --set-gtid-purged 设置 (1)  mysqldump The mysqldump client utility performs logical backups, producing a set ...
    99+
    2022-01-27
    MySQL 学习笔记(五)
  • MySQL学习笔记-day03
    1、约束 1.1、唯一性约束(unique) 唯一性约束修饰的字段具有唯一性,不能重复。但可以为NULL。 案例:给某一列添加unique drop table if exists t_user; create table t_...
    99+
    2020-11-18
    MySQL学习笔记-day03
  • MySQL学习笔记(17):MySQL Utilities
    本文更新于2020-04-05,使用MySQL 5.7,操作系统为Deepin 15.4。 目录安装分类mysqldbcompare——数据库比较工具mysqldbcopy——数据库复制工具mysqldiff——数据库对象定义比较...
    99+
    2015-05-06
    MySQL学习笔记(17):MySQL Utilities
  • MySQL学习笔记 初涉MySQL
    1.在Linux下安装MySQL# yum -y install mysql mysql-server mysql-devel &nbs...
    99+
    2024-04-02
  • mysql学习笔记二 DQL
    -- 查询编号为1004的学生的姓名和生日 select name,birthday from student where id=1004; -- 查询年龄大于18的学生信息 select...
    99+
    2018-07-25
    mysql学习笔记二 DQL
  • MySQL学习笔记(3):SQL
    本文章更新于2020-06-14,使用MySQL 5.7,操作系统为Deepin 15.9。 目录DDL语句创建数据库删除数据库修改数据库创建表删除表修改表创建索引删除索引创建视图修改视图删除视图存储过程和函数创建事件修改事件删除...
    99+
    2022-04-25
    MySQL学习笔记(3):SQL
  • 学习笔记:MYSQL查询
    前言:之前花费两天晚上看了一遍Mysql必知必会,没想到后面效果太差。不如跟着网课视频敲一遍和完成练习题目(练习题没写注释就不记录了),再记下笔记。 一、基本的查询select语句 语法: select 查询列表 from 表名...
    99+
    2015-12-27
    学习笔记:MYSQL查询
  • 超全MySQL学习笔记
    目录MyISAM和InnoDB性能下降SQL慢的原因:Mysql执行顺序SQLJoin索引索引的优劣1.优势2.劣势索引分类创建删除查看mysql索引结构那些情况建索引哪些情况不要建...
    99+
    2024-04-02
  • Oracle 笔记(九)、触发器
    1、触发器一旦创建就会立刻生效,有时可能需要临时禁用触发器,最常见的原因就是涉及数据加载。ALTER TRIGGER trigger_name [ENABLE | DISABLE];  ...
    99+
    2024-04-02
  • 学习笔记 12 数据库索引和锁
    索引是为了提高查询的效率。常见的索引模型有hash索引,有序数组,二叉树索引。hash索引:hash表是一种以键值对存储的数据结构,适用于等值查询场景;由于数据不是有序存储的,所以范围查询时效率比较差。有序...
    99+
    2024-04-02
  • 《Flask Web开发》学习笔记
      前言:想熟练掌握一门web框架,为以后即将诞生的测试工具集做准备。为什么选择flask要做熟练掌握的一门框架,而不是其他的,最主要的原因是可以随意定制。   特别提醒:这本书的代码会提交在github,有基础的人可以直接看githu...
    99+
    2023-01-30
    学习笔记 Flask Web
  • 学习笔记-TP5框架学习笔记\(路由\)
    TP5框架简单理解 (PS:只做粗略、关键知识的记录,TP程序的开始。详情请阅读官方手册) 1. 架构总览 TP程序的开始 PHP >=5.3.0, PHP7 ThinkPHP5.0应用基于MVC(模型-视图-控制器)的方...
    99+
    2023-10-25
    学习 php 开发语言
  • MySQL学习笔记(9):索引
    本文更新于2019-07-27,使用MySQL 5.7,操作系统为Deepin 15.4。 目录能够使用索引的典型场景存在索引但不能使用索引的典型场景查看索引使用情况 在创建一个n列的复合索引时,实际是创建了n个索引。可利用索引中...
    99+
    2018-09-17
    MySQL学习笔记(9):索引
  • MySQL学习笔记(1):安装
    本文更新于2020-05-04。 目录安装使用apt-get安装使用dpkg安装使用rpm安装卸载MariaDB安装MySQL初始化密码修改密码认证插件服务启动、停止、重启、状态查看Linux下的文件布局默认数据库 安装 在Win...
    99+
    2020-09-26
    MySQL学习笔记(1):安装
  • MySQL学习笔记(10):视图
    本文更新于2019-06-22,使用MySQL 5.7,操作系统为Deepin 15.4。 目录 为了便于描述,此处将创建视图的DDL复述一次,其已于“SQL”章节描述。 CREATE [OR REPLACE] [ALGO...
    99+
    2015-06-23
    MySQL学习笔记(10):视图
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作