MySQL触发器trigger之after与before区分_MySQL
after:是先完成数据的增删改,然后再触发,触发的语句晚于监视的增删改,无法影响前面的增删改动作;也就是说先插入订单记录,再更新商品数量。当商品数量少于订单数量时造成爆库。 before:先完成触发,在进行增删改,触发语句先于监视的增删改,我们就有机会判断,修改即将发生的操作。 案例操作: 触发器使用after: 当某个订单的数量超过库存的数量时会出现库存为负数。造成所谓的爆库问题。
#创建触发器test4 CREATE TRIGGER test4 AFTER INSERT ON `ord` FOR EACH ROW BEGIN UPDATE goods SET num= num - new.much WHERE goods_id = new.gid; END$$

触发器使用before: 先触发,在判断处理之后再进行增删改不会,根据库存修改了订单的最大数量。当然我这只是简单的固定了一个值,其实可以用语句获取到动态的库存值。
#创建触发器test5 CREATE TRIGGER test5 BEFORE INSERT ON `ord` FOR EACH ROW BEGIN IF new.much >26 THEN SET new.much = 26; END IF; UPDATE goods SET num= num - new.much WHERE goods_id = new.gid; END$$


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

如何在 PowerPoint 中的任何点击之前隐藏文本如果您希望在单击 PowerPoint 幻灯片上的任意位置时显示文本,那么设置起来既快速又容易。要在 PowerPoint 中单击任何按钮之前隐藏文本:打开您的 PowerPoint 文档,然后单击“插入 ”菜单。单击新幻灯片。选择空白或其他预设之一。仍然在插入菜单中,单击文本框。在幻灯片上拖出一个文本框。单击文本框并输入您

如何在MySQL中使用PHP编写触发器MySQL是一种常用的关系型数据库管理系统,而PHP是一种流行的服务器端脚本语言。在MySQL中使用PHP编写触发器可以帮助我们实现自动化的数据库操作。本文将介绍如何使用PHP来编写MySQL触发器,并提供具体的代码示例。在开始之前,确保已经安装了MySQL和PHP,并且已经建立了相应的数据库表。一、创建PHP文件和数据

在Oracle数据库中,您可以使用CREATE TRIGGER语句来添加触发器。触发器是一种数据库对象,它可以在数据库表上定义一个或多个事件,并在事件发生时自动执行相应的操作。

如何在MySQL中使用PHP编写自定义触发器和存储过程引言:在开发应用程序时,我们经常需要在数据库层面进行一些操作,如插入、更新或删除数据。MySQL是一个广泛使用的关系型数据库管理系统,而PHP是一种流行的服务器端脚本语言。本文将介绍如何在MySQL中使用PHP编写自定义触发器和存储过程,并提供具体的代码示例。一、什么是触发器和存储过程触发器(Trigg

mysql的触发器是行级的。按照SQL标准,触发器可以分为两种:1、行级触发器,对于修改的每一行数据都会激活一次,如果一个语句插入了100行数据,将会调用触发器100次;2、语句级触发器,针对每个语句激活一次,一个插入100行数据的语句只会调用一次触发器。而MySQL中只支持行级触发器,不支持预语句级触发器。

如何在MySQL中使用Python编写自定义触发器触发器是MySQL中的一种强大的功能,它可以在数据库中的表上定义一些自动执行的操作。而Python则是一种简洁而强大的编程语言,能够方便地与MySQL进行交互。本文将介绍如何使用Python编写自定义触发器,并提供具体的代码示例。首先,我们需要安装并导入PyMySQL库,它是Python与MySQL数据库进行

如何在MySQL中使用C#编写自定义存储过程、触发器和函数MySQL是一种广泛使用的开源关系型数据库管理系统,而C#是一种强大的编程语言,对于需要与数据库进行交互的开发任务来说,MySQL和C#是很好的选择。在MySQL中,我们可以使用C#编写自定义存储过程、触发器和函数,来实现更加灵活和强大的数据库操作。本文将引导您使用C#编写并执

如何使用MySQL的触发器实现数据的自动归档引言:在现代数据管理领域,数据的自动归档和清理是一个重要而又常见的需求。随着数据量的增加,保留完整的历史数据会占用过多的存储资源,并且会降低查询性能。MySQL的触发器提供了实现这一需求的有效方法。本文将介绍如何使用MySQL的触发器来实现数据的自动归档。一、什么是MySQL的触发器MySQL的触发器是一种特殊的存
