MySQL触发器

本文概述

  • 1.插入之前/之后触发
  • 语法
  • 参数
  • 例子
  • 2.更新后/触发前
  • 语法
  • 参数
  • 例子
  • 3.删除之前/之后触发
  • 语法
  • 参数
  • 例子
  • 删除触发器
  • 语法
  • 参数
  • 例子1
在MySQL中, 也可以创建触发器。可以设置6种触发器:-
  1. 插入之后/之前
  2. 更新后/之前
  3. 删除后/删除前
1.插入之前/之后触发 在MySQL中, 还可以创建AFTER / BEFORE触发器。 AFTER / BEFORE触发器意味着触发器将在插入记录后调用。
语法
CREATE TRIGGER trigger_name AFTER/BEFORE INSERT ON table_name FOR EACH ROW BEGIN --variable declarations --trigger code END;

参数 trigger_name:要创建的触发器的名称。
插入后/插入前:在插入查询执行之前或之后, 它指向触发器。
table_name:在其中创建触发器的表的名称。
例子 步骤1:创建一个表格, 例如, student并插入记录。
MySQL触发器

文章图片
第2步:创建另一个表, 例如, student1, 不要插入记录。
MySQL触发器

文章图片
步骤3:现在创建AFTER INSERT触发器
查询;
在将” 行” 插入” student” 之后, 将触发器插入” student_insert” , 以将每行插入到student2值中(null, new.id, ” insertted” , NOW());
MySQL触发器

文章图片
步骤4:创建触发器后, 现在再次将记录插入到Student表中, 它将反映在student2表上。
【MySQL触发器】i)插入学生表ID 6
MySQL触发器

文章图片
ii)反映在学生2中。
MySQL触发器

文章图片
2.更新后/触发前 在MySQL中, 还可以创建AFTER / BEFORE UPDATE触发器。 AFTER / BEFORE UPDATE触发器意味着触发器将在记录更新之后/之前调用。
语法
CREATE TRIGGER trigger_name AFTER/BEFORE UPDATE ON table_name FOR EACH ROW BEGIN --variable declarations --trigger code END;

参数 trigger_name:要创建的触发器的名称。
更新后:它指示执行触发器更新查询。
table_name:在其中创建触发器的表的名称。
例子 步骤1:创建一个表格, 例如, student并插入记录。
MySQL触发器

文章图片
步骤2:创建另一个表, 例如, student1并插入记录。
MySQL触发器

文章图片
步骤3:现在创建AFTER UPDATE触发器
查询:
为每个行更新创建触发器’ student_update’ 之后对’ student’ 进行更新student2 SET name = new.name其中id = id;
MySQL触发器

文章图片
步骤4:创建触发器后, 现在再次更新学生表中的记录, 它将反映在学生2表上。
i)更新学生表ID 6
MySQL触发器

文章图片
ii)反映在学生2中。
MySQL触发器

文章图片
3.删除之前/之后触发 在MySQL中, 还可以创建AFTER / BEFORE DELETE触发器。 AFTER / BEFORE DELETE触发器意味着触发器将在删除记录之后/之前调用。
语法
CREATE TRIGGER trigger_name AFTER/BEFORE DELETE ON table_name FOR EACH ROW BEGIN --variable declarations --trigger code END;

参数 trigger_name:要创建的触发器的名称。
AFTER / BEFORE DELETE:在执行删除查询之前/之后指向触发器。
table_name:在其中创建触发器的表的名称。
例子 步骤1:创建一个表格, 例如, student并插入记录。
MySQL触发器

文章图片
步骤2:创建另一个表, 例如, student1并插入记录。
MySQL触发器

文章图片
步骤3:现在创建AFTER DELETE触发器
查询:
在从学生2的每个学生行中删除” 学生” 之后, 在” 学生” 中删除后创建触发器’ student_delete’ 。
MySQL触发器

文章图片
步骤4:创建触发器后, 现在再次删除学生表中的记录, 它将反映在学生2表上。
我)删除学生表ID 6
MySQL触发器

文章图片
ii)反映在学生2中。
MySQL触发器

文章图片
删除触发器 在MySQL中, 触发器也可以删除。当触发器删除时, 将从数据库中将其删除。
语法
Drop Trigger[ IF EXISTS ] Trigger_name;

参数 Trigger_name:要删除的触发器的名称
例子1
drop Trigger student_update;

MySQL触发器

文章图片

    推荐阅读