比较after insert、before insert、after update、before update触发时间与事件 的触发情况。
--创建表
create table film_text(
id smallint auto_increment,
name varchar(40),
txt text,
primary key(id)
);
对于film表在 触发器 一 里有提过,代码就不写了。
针对表film 创建before insert 触发器:
--创建before insert 触发器
create trigger trigger_film_bef --触发器名称为trigger_film_bef
before insert --触发器的时间和事件
on film
for each row --行级触发器
begin
insert into film_text values(null,'sunny','before insert');
end;
针对表film 创建 after insert 触发器:
--创建after insert 触发器
create trigger trigger_film_aft --触发器名称为trigger_film_aft
after insert --触发器的时间和事件
on film
for each row --行级触发器
begin
insert into film_text values(null,'sunny','after insert');
end;
针对表film 创建 after update触发器
--创建after update 触发器
create trigger upd_film_aft --触发器名称为upd_film_aft
after update --触发器的时间和事件
on film
for each row --行级触发器
begin
insert into film_text values(null,'sunny','after update');
end;
针对表film 创建 before update触发器
--创建before update触发器
create trigger upd_film_bef
before update on film
for each row
begin
insert into film_text values(null,'sunny','before update');
end;
到现在四个触发器创建完了。
可以做下实验:
插入一条数据
insert into film values(null,'sunny','i like you',null);
查询表film_text:
select * from film_text;
结果如下:
mysql> select * from film_text;
+----+---------+-----------------+
| id | name | txt |
+----+---------+-----------------+
| 9 | huigui0 | thank you...... |
| 10 | sunny | before insert |
| 11 | sunny | after insert |
+----+---------+-----------------+
3 rows in set
说明了 before与after的顺序。
更新一条数据:
update film set name='sunny' where id=1;
结果如下:
| 12 | sunny | before update |
| 13 | sunny | after update |
+----+---------+-----------------+
5 rows in set
说明了 before与after的顺序。
分享到:
相关推荐
本文实例讲述了mysql触发器之创建多个触发器操作。分享给大家供大家参考,具体如下: 这次记录的内容mysql 版本必须得是5.7.2+的哈,之前的会不好使的。废话不多说,咱们开始正文哈。 在mysql 5.7.2+版本之前,我们...
本文实例讲述了mysql触发器之创建使用触发器。分享给大家供大家参考,具体如下: 我们可以可以使用CREATE TRIGGER语句创建一个新的触发器,来看下具体的语法: CREATE TRIGGER trigger_name trigger_time trigger_...
MySQL中的触发器是一种数据库对象,它与特定的表相关联,并在对表执行INSERT、UPDATE或DELETE操作之前或之后自动执行预定义的SQL语句。触发器的主要作用是增强数据库的逻辑控制,确保数据完整性、记录操作日志以及...
总的来说,理解如何定义、查看和管理MySQL触发器是数据库管理员和开发人员必备的技能之一。通过熟练掌握触发器,我们可以更有效地维护数据的完整性和一致性,并实现更灵活的数据处理逻辑。学习更多关于MySQL的内容,...
Mysql存储过程游标触发器
### MySQL触发器详解 #### 引言 MySQL作为一款广泛使用的开源关系型数据库管理系统,在其5.0版本中引入了许多重要的新特性,其中最引人注目的是存储过程、触发器、视图等高级功能的加入。本文将重点讨论MySQL 5.0...
### MySQL触发器知识点详解 #### 引言 MySQL触发器是一种服务器端的程序,它可以响应特定的数据库事件(如插入、更新或删除记录)而自动执行。触发器自MySQL 5.0版本起被引入,这标志着MySQL在功能性上的一大进步,...
MySQL 事件、触发器、事务实验报告 MySQL 事件调度器是 MySQL 中的一种机制,可以根据指定的时间间隔执行特定的 SQL 语句。事件调度器有两个优点:一是可以用于定期统计、清理、检查等操作;二是可以提高数据库的...
MySQL触发器是数据库管理系统中的一种重要机制,它允许在特定的数据库操作(如INSERT、UPDATE、DELETE)发生前后自动执行一段预定义的SQL代码。触发器的引入是为了满足更复杂的数据完整性需求,提供数据验证、业务...
MySQL 5.0 触发器是数据库管理系统MySQL中的一个重要特性,它允许用户在特定的数据库操作(如INSERT、UPDATE、DELETE)发生时自动执行预定义的SQL语句,从而实现对数据的自动管理和控制。这在数据一致性、业务规则的...
总之,理解并掌握在MySQL中禁用和启用触发器的方法是数据库管理员和开发人员必备的技能之一。通过灵活控制触发器,可以有效地优化数据库的性能,避免因触发器误操作带来的问题。同时,适时禁用触发器也有助于提高...
MySQL触发器是数据库管理系统中的一个重要概念,主要用于在特定的数据操作(如INSERT、UPDATE或DELETE)发生时自动执行预定义的SQL语句。这些语句可以是复杂的业务逻辑,用于实现数据验证、同步或其他自动化任务。...
#### 二、MySQL触发器的历史背景 MySQL 5.0版本开始引入了触发器功能,这是MySQL发展历史上的一个重要里程碑。在此之前,虽然MySQL已经具备了一定的数据处理能力,但对于更复杂的数据完整性约束和事务处理逻辑,用户...
MySQL数据库是世界上最流行的开源关系型数据库之一,广泛应用于各种规模的企业和项目中。在数据库管理中,函数、触发器和存储过程是三个重要的概念,它们极大地增强了数据处理的灵活性和效率。 **一、MySQL数据库...
实验九的目的是让学生掌握MySQL中的触发器,这是一种在特定数据库事件发生时自动执行的代码块。触发器不同于存储过程,因为它不是由用户或应用程序直接调用,而是由数据库管理系统(DBMS)在满足预设条件时自动触发...
MySQL中的存储过程和触发器是数据库管理中两个重要的概念,它们极大地增强了数据库的功能和灵活性。 存储过程是一种预编译的SQL语句集合,它可以视为数据库中的一个可执行对象。存储过程有以下几个显著优点: 1. *...
在深入探讨MySQL触发器的使用之前,我们先来理解一下什么是触发器以及它在数据库管理中的作用。触发器是数据库中一种特殊的存储过程,当特定的事件(如INSERT、UPDATE或DELETE操作)在指定的表上发生时自动执行。...
#### 二、MySQL触发器概述 ##### 2.1 触发器的类型 MySQL触发器主要有以下几种类型: - **根据触发时机分类**: - `BEFORE`:在某事件发生前执行。 - `AFTER`:在某事件发生后执行。 - **根据触发事件分类**: ...