`

Mysql那些事儿之(十一)触发器 二

阅读更多

 比较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触发器之创建多个触发器操作。分享给大家供大家参考,具体如下: 这次记录的内容mysql 版本必须得是5.7.2+的哈,之前的会不好使的。废话不多说,咱们开始正文哈。 在mysql 5.7.2+版本之前,我们...

    mysql触发器之创建使用触发器简单示例

    本文实例讲述了mysql触发器之创建使用触发器。分享给大家供大家参考,具体如下: 我们可以可以使用CREATE TRIGGER语句创建一个新的触发器,来看下具体的语法: CREATE TRIGGER trigger_name trigger_time trigger_...

    mysql触发器之触发器的增删改查操作示例

    总的来说,理解如何定义、查看和管理MySQL触发器是数据库管理员和开发人员必备的技能之一。通过熟练掌握触发器,我们可以更有效地维护数据的完整性和一致性,并实现更灵活的数据处理逻辑。学习更多关于MySQL的内容,...

    Mysql存储过程游标触发器

    Mysql存储过程游标触发器

    MySQL触发器.pdf

    ### MySQL触发器详解 #### 引言 MySQL作为一款广泛使用的开源关系型数据库管理系统,在其5.0版本中引入了许多重要的新特性,其中最引人注目的是存储过程、触发器、视图等高级功能的加入。本文将重点讨论MySQL 5.0...

    mysql-事件,触发器,事务-实验七.docx

    MySQL 事件、触发器、事务实验报告 MySQL 事件调度器是 MySQL 中的一种机制,可以根据指定的时间间隔执行特定的 SQL 语句。事件调度器有两个优点:一是可以用于定期统计、清理、检查等操作;二是可以提高数据库的...

    MYSQL触发器教程.doc

    MySQL触发器是数据库管理系统中的一种重要机制,它允许在特定的数据库操作(如INSERT、UPDATE、DELETE)发生前后自动执行一段预定义的SQL代码。触发器的引入是为了满足更复杂的数据完整性需求,提供数据验证、业务...

    Mysql中禁用与启动触发器教程【推荐】

    总之,理解并掌握在MySQL中禁用和启用触发器的方法是数据库管理员和开发人员必备的技能之一。通过灵活控制触发器,可以有效地优化数据库的性能,避免因触发器误操作带来的问题。同时,适时禁用触发器也有助于提高...

    MySQL触发器.rar

    MySQL触发器是数据库管理系统中的一个重要概念,主要用于在特定的数据操作(如INSERT、UPDATE或DELETE)发生时自动执行预定义的SQL语句。这些语句可以是复杂的业务逻辑,用于实现数据验证、同步或其他自动化任务。...

    MySQL数据库函数,触发器,存储过程

    MySQL数据库是世界上最流行的开源关系型数据库之一,广泛应用于各种规模的企业和项目中。在数据库管理中,函数、触发器和存储过程是三个重要的概念,它们极大地增强了数据处理的灵活性和效率。 **一、MySQL数据库...

    实验九MySQL的触发器.pdf

    实验九的目的是让学生掌握MySQL中的触发器,这是一种在特定数据库事件发生时自动执行的代码块。触发器不同于存储过程,因为它不是由用户或应用程序直接调用,而是由数据库管理系统(DBMS)在满足预设条件时自动触发...

    MySQL存储过程和触发器

    MySQL中的存储过程和触发器是数据库管理中两个重要的概念,它们极大地增强了数据库的功能和灵活性。 存储过程是一种预编译的SQL语句集合,它可以视为数据库中的一个可执行对象。存储过程有以下几个显著优点: 1. *...

    mysql触发器使用

    在深入探讨MySQL触发器的使用之前,我们先来理解一下什么是触发器以及它在数据库管理中的作用。触发器是数据库中一种特殊的存储过程,当特定的事件(如INSERT、UPDATE或DELETE操作)在指定的表上发生时自动执行。...

    Mysql触发器介绍

    #### 二、MySQL触发器概述 ##### 2.1 触发器的类型 MySQL触发器主要有以下几种类型: - **根据触发时机分类**: - `BEFORE`:在某事件发生前执行。 - `AFTER`:在某事件发生后执行。 - **根据触发事件分类**: ...

    mysql触发器

    MySQL触发器是数据库管理系统中的一个重要特性,它允许在特定的数据库操作(如INSERT、UPDATE、DELETE)发生之前或之后执行自定义的SQL代码。这些自动执行的程序段可以帮助实现业务规则,数据验证,或者在数据发生...

    mysql 触发器文档

    ### MySQL 触发器知识点详解 #### 引言 MySQL 5.0版本引入了许多新的功能,其中最为显著的是存储过程、触发器、视图以及`information_schema`等。本篇文档将着重介绍触发器这一特性,通过详细的解析与实例演示帮助...

    MYSQL触发器使用详解

    MYSQL触发器,可以使用它用来进行监控,例如商品价格变化,下单后商品库存减少等实用性操作!

Global site tag (gtag.js) - Google Analytics