`
Action-人生
  • 浏览: 104792 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

MySQL 触发器简单实例

阅读更多
http://www.cnblogs.com/nicholas_f/archive/2009/09/22/1572050.html
MySQL 触发器简单实例
~~语法~~
CREATE TRIGGER <触发器名称>  --触发器必须有名字,最多64个字符,可能后面会附有分隔符.它和MySQL中其他对象的命名方式基本相象.
{ BEFORE | AFTER }  --触发器有执行的时间设置:可以设置为事件发生前或后。
{ INSERT | UPDATE | DELETE }  --同样也能设定触发的事件:它们可以在执行insert、update或delete的过程中触发。
ON <表名称>  --触发器是属于某一个表的:当在这个表上执行插入、 更新或删除操作的时候就导致触发器的激活. 我们不能给同一张表的同一个事件安排两个触发器。
FOR EACH ROW  --触发器的执行间隔:FOR EACH ROW子句通知触发器 每隔一行执行一次动作,而不是对整个表执行一次。
<触发器SQL语句>  --触发器包含所要触发的SQL语句:这里的语句可以是任何合法的语句, 包括复合语句,但是这里的语句受的限制和函数的一样。

--你必须拥有相当大的权限才能创建触发器(CREATE TRIGGER),如果你已经是Root用户,那么就足够了。这跟SQL的标准有所不同。

~~实例~~
example1:
创建表tab1


DROP TABLE IF EXISTS tab1;
CREATE TABLE tab1(
    tab1_id varchar(11)
);
创建表tab2


DROP TABLE IF EXISTS tab2;
CREATE TABLE tab2(
    tab2_id varchar(11)
);

创建触发器:t_afterinsert_on_tab1

作用:增加tab1表记录后自动将记录增加到tab2表中


DROP TRIGGER IF EXISTS t_afterinsert_on_tab1;
CREATE TRIGGER t_afterinsert_on_tab1
AFTER INSERT ON tab1
FOR EACH ROW
BEGIN
     insert into tab2(tab2_id) values(new.tab1_id);
END;
测试一下

1
INSERT INTO tab1(tab1_id) values('0001');
看看结果


SELECT * FROM tab1;
SELECT * FROM tab2;
example2:

创建触发器:t_afterdelete_on_tab1

作用:删除tab1表记录后自动将tab2表中对应的记录删去


DROP TRIGGER IF EXISTS t_afterdelete_on_tab1;
CREATE TRIGGER t_afterdelete_on_tab1
AFTER DELETE ON tab1
FOR EACH ROW
BEGIN
      delete from tab2 where tab2_id=old.tab1_id;
END;
测试一下


DELETE FROM tab1 WHERE tab1_id='0001';
看看结果


SELECT * FROM tab1;
SELECT * FROM tab2;
分享到:
评论

相关推荐

    mysql触发器之创建多个触发器操作实例分析

    本文实例讲述了mysql触发器之创建多个触发器操作。分享给大家供大家参考,具体如下: 这次记录的内容mysql 版本必须得是5.7.2+的哈,之前的会不好使的。废话不多说,咱们开始正文哈。 在mysql 5.7.2+版本之前,我们...

    mysql触发器使用实例

    MySQL触发器是数据库管理系统中的一个重要特性,它允许在特定的数据操作(如INSERT、UPDATE或DELETE)发生时自动执行预定义的SQL语句。这为数据库的业务规则提供了强大的支持,可以确保数据的一致性和完整性。以下是...

    MySQL触发器.pdf

    ### MySQL触发器详解 #### 引言 MySQL触发器,作为MySQL 5.0版本引入的一项重要特性,为数据库管理提供了更为精细的控制能力。触发器允许在特定的数据库操作(如INSERT、UPDATE、DELETE)发生时自动执行SQL语句,...

    mysql触发器使用

    通过以上两个实例,我们可以看到MySQL触发器的强大功能,它们能够在无需编程的情况下自动执行预设的逻辑,大大简化了数据库的管理和维护工作。无论是数据的自动统计,还是审计日志的记录,触发器都能够提供高效且...

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

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

    mysql中触发器使用详解.docx

    MySQL中的触发器是一种数据库对象,它与特定的表相关联,并在对表执行INSERT、UPDATE或DELETE操作之前或之后自动执行预定义的SQL语句。触发器的主要作用是增强数据库的逻辑控制,确保数据完整性、记录操作日志以及...

    mysql触发器实例

    内含mysql的trigger触发器实例,修改即可使用。。。。。。

    mysql触发器.zip

    MySQL触发器是数据库管理系统中的一个重要特性,它允许在特定的数据库操作(如INSERT、UPDATE或DELETE)发生之前或之后执行自定义的SQL代码。这些自动执行的代码块可以用来实现复杂的业务逻辑,确保数据的一致性和...

    MySQL触发器、存储过程、自定义函数、视图示例

    ### MySQL触发器、存储过程、自定义函数、视图示例 #### 一、MySQL触发器 触发器是一种特殊类型的存储过程,它被设计为在特定事件(如INSERT、UPDATE或DELETE操作)发生时自动执行。触发器可以用来强制业务规则、...

    mysql触发器

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

    Mysql触发器介绍

    ### MySQL触发器详解 #### 一、引言 MySQL 的触发器与存储过程类似,都是内嵌于数据库的一种编程机制。触发器的概念最早出现在 MySQL 5.0 版本中,这一特性使得开发者能够编写自动化的数据库操作逻辑,用于响应...

    MySQL 触发器详解及简单实例

    MySQL触发器是数据库管理系统中的一种重要特性,它允许在特定的数据库操作(如INSERT、UPDATE或DELETE)之前或之后执行自定义的SQL语句。触发器可以用来维护数据的完整性和一致性,执行复杂的业务逻辑,或者实现一些...

    mysql触发器.pdf

    【MySQL触发器详解】 MySQL触发器是数据库管理系统中的一种重要特性,它允许用户在特定的数据库操作(如INSERT、UPDATE或DELETE)发生之前或之后自动执行预定义的SQL语句。这种特性使得数据库能实现更复杂的业务...

    mysql 触发器用法实例详解

    MySQL触发器语法详解:  触发器 trigger是一种特殊的存储过程,他在插入(inset)、删除(delete)或修改(update)特定表中的数据时触发执行,它比数据本身标准的功能更精细和更复杂的数据控制能力。触发器不是由...

    mysql 触发器文档

    本篇文档将着重介绍触发器这一特性,通过详细的解析与实例演示帮助用户了解如何在实际项目中有效地使用触发器。 #### 规约与风格 为了更好地展示实际代码,如来自MySQL客户端程序的输出结果,本文档将采用特殊字体...

    [数据库] Navicat for MySQL触发器更新和插入操作1

    3. **简单的Insert触发器示例**: - 假设有两个表,学生表(student)和成绩表(cj)。学生表包含学生信息,成绩表包含学号、姓名和各科成绩。 - 当在学生表中插入新学生时,我们可能希望自动在成绩表中添加对应的...

    MySQL 5.0 触发器.rar

    MySQL 5.0 触发器是数据库管理系统MySQL中的一个重要特性,它允许用户在特定的数据库操作(如INSERT、UPDATE、DELETE)发生时自动执行预定义的SQL语句,从而实现对数据的自动管理和控制。这在数据一致性、业务规则的...

    MySQL触发器深入解析.md

    ### MySQL触发器深入解析 #### 引言 触发器作为一种重要的数据库对象,为MySQL数据库带来了自动化执行特定任务的能力。这不仅增强了数据库的功能性,还提高了其智能化水平。尤其是在需要维护数据完整性、审计跟踪...

Global site tag (gtag.js) - Google Analytics