首页 > 数据库 >mysql TRIGGER 触发器

mysql TRIGGER 触发器

时间:2023-05-05 10:44:31浏览次数:31  
标签:INSERT 触发器 触发 trigger TRIGGER mysql order

  1. 确定触发器的触发事件,可以是INSERT、UPDATE或DELETE操作。

  2. 确定触发器的执行时间,可以是BEFORE(前)或AFTER(后)。

  3. 确定触发器要绑定的表名和触发事件(即INSERT、UPDATE或DELETE)。

  4. 编写触发器的触发操作,可以是任何合法的SQL语句。

  5. 使用CREATE TRIGGER语句创建触发器,指定触发器的名称、触发事件、执行时间、绑定的表名、触发操作等信息。例如,下面的示例创建了一个在表orders上的触发器,当执行INSERT操作时,自动向另外一张表order_log中插入一条记录:

# 创建触发器

CREATE TRIGGER order_insert_trigger AFTER INSERT ON orders
FOR EACH ROW
BEGIN
  INSERT INTO order_log (order_id, order_date, order_total)
  VALUES (NEW.order_id, NEW.order_date, NEW.order_total);
END;


# 查看触发器

SHOW TRIGGERS;


# 删除触发器
DROP TRIGGER [IF EXISTS] trigger_name;

DROP TRIGGER IF EXISTS my_trigger;

上述代码中,order_insert_trigger为触发器的名称,AFTER INSERT表示在执行INSERT操作后触发,orders为要绑定的表名,FOR EACH ROW表示对每行记录都执行一次触发器,BEGIN和END之间的语句为触发操作,将插入一条记录到order_log表中。

需要注意的是,触发器可以自动执行一些操作,但是也会带来一定的性能开销,尤其是在频繁执行INSERT、UPDATE、DELETE操作的情况下。因此,在创建触发器时应该仔细评估和优化。

标签:INSERT,触发器,触发,trigger,TRIGGER,mysql,order
From: https://www.cnblogs.com/ysctest/p/17373452.html

相关文章

  • ubuntu18.04 安装docker、mysql、nacos
    一、安装docker1.更新软件源列表sudoapt-getupdate2.安装软件包依赖sudoaptinstallapt-transport-httpsca-certificatescurlsoftware-properties-common3.在系统中添加Docker的官方密钥curl-fsSLhttps://download.docker.com/linux/ubuntu/gpg|sudoapt-ke......
  • MySQL存储引擎
    介绍MySQL提供了多个不同的存储引擎,包括处理事务安全表的引擎和处理非事务安全表的引擎。可以使用''SHOWENGINES;''命令查看当前版本的MySQL所支持的引擎类型,如MySQL8支持的存储引擎有InnoDB、MyISAM、Memory、Merge、Archive、CSV、BLACKHOLE等。存储引擎描述AR......
  • 14、MySQL复制延迟原因及解决办法
    复制延迟原因:写入速度超过了复制速度解决办法:1、升级到mysql5.7以上版本,开启GTID功能,主库可以并发事务,支持并发传输及并行多个SQL线程2、减少大事务,将大事务拆分成小事务减少锁(和开发相关)3、sync_binlog=1加快binlog更新时间,从而加快日志复制只要事务一提交,立即写日志(默认......
  • 【MySQL–07】内置函数
    【MySQL--07】内置函数1.函数1.1日期函数函数名称描述current_data()当前日期current_time()当前时间current_timestamp()当前时间戳date(datetime)返回datetume参数的日期部分date_add(date,intervald_value_type)在date中添加日期时间interval后......
  • 【必知必会的MySQL知识】④DCL语言
    转载:https://www.cnblogs.com/xiezhr/p/17343320.html 目录一、概述二、授权2.1语法格式2.2语法说明2.3权限类型2.4权限级别三、回收权限3.1语法格式3.2语法说明3.3注意事项四、实践操作 一、概述数据控制语言,用来定义访问权限和安全级别......
  • Unity3D之OnTriggerEnter和OnCollisionEnter
    OnCollisionEnter方法要求碰撞的发起方必须拥有刚体,而被碰撞方有没有刚体并不重要;OnTriggerEnter方法则对此没有要求,只需要碰撞双方有一个具有刚体即可触发,当有物体勾选isTrigger属性时,则会执行OnTriggerEnter方法。......
  • mysql
    mysql目录mysql数据库分类视图触发器事务存储过程函数数据库分类'''市面上有很多的数据库,但是,大致分类两大类'''1.关系型数据库 MySQL、Oracle、SqlServer、PostgreSQL、sqlite、MariaDB、db2、accessMySQL:开源免费的 Oracle:不开源,收费MariaDB:开源的2.非关系......
  • 【必知必会的MySQL知识】mysql5.7安装教程
    1.下载mysql下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads下载zip免安装版,可以省去很多事2.将下载的安装文件解压放到磁盘中3.在mysql解压缩包根目录下创建my.ini文件(mysql主配置文件)并创建data目录(用户初始化数据库文件目录)my.ini文件内容如下[mys......
  • Linux 安装MySql
    Linux安装MySql1.下载mysqlhttps://downloads.mysql.com/archives/community/下载之后使用文件传输工具传输到你的服务器上 2.安装mysql1.创建mysql文件夹mkdir/soft/mysql创建文件夹cd/soft/mysql进入 2.解压文件夹在该目录下再创建一个文件夹,并且将安装......
  • 【解决方案】MySQL死锁解决案例
    说明:该场景为商品库存操作更新MySQL时发生的数据库死锁,如果你没有做过库存系统经验,也可以把方案应用到(优惠券库存or活动库存or抽奖礼品库存等等),只要符合同时更新多条记录时均可。背景:库存系统组合品是由多个单品组合而成,更新数据库时先组装数据再批量更新多个sku。组合品关系......