MySql教程
MySql用户管理
MySQL数据库
MySql表格和视图
MySQL查询
MySQL索引
MySQL子句
MySQL授权
MySql控制流
MySQL条件
MySQL连接
MySQL键
MySQL触发器
MySQL聚合函数
MySQL常用
MySQL正则表达式
MySql差异性

MySQL AFTER INSERT触发器

在表中发生插入事件时,将自动调用MySQL中的插入触发器之后。在本文中,我们将学习如何使用其语法和示例创建插入后触发器。

语法

以下是创建 插入后 在MySQL中触发:
CREATE TRIGGER trigger_name 
AFTER INSERT
ON table_name for EACH ROW
trigger_body ;
AFTER INSERT触发语法参数可以解释如下:
首先,我们将指定要创建的触发器的名称。它在架构中应该是唯一的。 第二,我们将指定触发动作时间,该时间应为AFTER INSERT子句以调用触发器。 第三,我们将指定与触发器关联的表的名称。它必须写在ON关键字之后。如果不指定表名,则触发器将不存在。 最后,我们将指定触发主体,其中包含一个或多个在激活触发器时执行的语句。
如果要执行多个语句,我们将使用 BEGIN END 块,该块包含一组SQL查询来定义触发器的逻辑。请参见以下语法:
DELIMITER $ 
CREATE TRIGGER trigger_name AFTER INSERT
ON table_name for EACH ROW
BEGIN
   variable declarations
   trigger code
END$
DELIMITER ;

限制

我们可以在AFTER INSERT触发器中访问 NEW 值,但无法更改 我们无法访问 OLD ,如果尝试访问OLD值,则会出现错误,因为INSERT触发器上没有OLD。 我们无法在 VIEW 上创建AFTER INSERT触发器。

AFTER INSERT触发器示例

让我们了解如何使用 在 MySQL 中创建一个触发器 语句,并提供示例。
假设我们已创建一个名为" student_info "的表,如下所示:
CREATE TABLE student_info (
  stud_id int NOT null,
  stud_code varchar(15) default NULL,
  stud_name varchar(35) default NULL,
  subject varchar(25) default NULL,
  marks int default NULL,
  phone varchar(15) default NULL,
  PRIMARY KEY (stud_id)
)
接下来,我们将一些记录插入该表中,然后执行 SELECT语句将表数据显示为
MySQL AFTER INSERT Trigger
同样,我们将创建一个名为 " student_detail" ,如下所示:
CREATE TABLE student_detail (
  stud_id int NOT null,
  stud_code varchar(15) default NULL,
  stud_name varchar(35) default NULL,
  subject varchar(25) default NULL,
  marks int default NULL,
  phone varchar(15) default NULL,
  Lasinserted Time,
  PRIMARY KEY (stud_id)
);
接下来,我们将使用CREATE TRIGGER语句在 student_info 表上创建一个 after_insert_details 触发器。在表上执行插入操作后,将触发此触发器。
mysql> DELIMITER //
mysql> Create Trigger after_insert_details
AFTER INSERT ON student_info for EACH ROW
BEGIN
INSERT INTO student_detail VALUES (new.stud_id, new.stud_code, 
new.stud_name, new.subject, new.marks, new.phone, CURTIME());
END //
如果成功创建触发器,我们将得到如下输出:
MySQL之后INSERT触发器

如何调用AFTER INSERT触发器?

我们可以使用以下语句来调用上面创建的触发器:
mysql> INSERT INTO student_info VALUES 
(10, 110, 'Alexandar', 'Biology', 67, '2347346438');
在执行更新查询后已修改的表为student_detail。我们可以使用SELECT语句验证它,如下所示:
mysql> SELECT * FROM student_detail;

MySQL AFTER INSERT Trigger
在此输出中,我们可以看到在将值插入到如何在MySQL工作台中创建AFTER INSERT触发器?
要创建一个after使用此工具插入触发器,我们首先需要 启动 MySQL Workbench 并使用我们之前创建的用户名和密码。我们将显示如下屏幕:
MySQL AFTER INSERT Trigger
现在执行以下操作创建AFTER INSERT触发器的步骤:
1、转到导航选项卡,然后单击 Schema菜单,其中包含MySQL服务器中所有可用的数据库。
2、选择数据库(例如,mystudentdb),双击它显示包含表,视图,函数和存储过程的 子菜单。参见下面的屏幕。
MySQL AFTER INSERT Trigger
3、展开 表格子菜单,然后选择要在其上创建触发器的表格。选择表后,右键单击所选表(例如, ,mystudentdb),然后单击"更改表"选项。参见下图:
MySQL AFTER INSERT Trigger
4、单击 Alter Table 选项,将显示以下屏幕:
MySQL之后插入触发器
5、现在,单击上一部分红色矩形框中显示的 "触发"选项卡,然后选择"定时/事件" 插入后。我们将注意到,有一个 (+)图标按钮可添加触发器。单击该按钮,我们将基于选择时间/事件在触发器上获得默认代码:
MySQL AFTER INSERT触发器
6、现在,完成触发器代码,再次检查它们,如果没有发现错误,请单击"应用"按钮。
MySQL AFTER INSERT Trigger
7、单击"应用"按钮后,单击 完成按钮以完成操作。
 MySQL AFTER INSERT Trigger
8、如果查看架构菜单,则可以在 student_info 表下看到 AFTER_INSERT_detail 触发器,如下所示:
MySQL AFTER INSERT Trigger
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4