`

MySQL使用触发器trigger

阅读更多
1. 使用触发器
创建触发器(mysql5之前的版本)
create trigger newproduct after insert on products for each row select 'Product added';

删除触发器
drop trigger newproduct;

创建insert触发器(mysql5之前的版本)
create trigger neworder after insert on orders for each row select new.order_num;

触发insert触发器
insert into orders(order_date, cust_id) values(now(), 10001);

delete触发器
create trigger deleteorder before delete on orders for each row
begin
    insert into archive_orders(order_num, order_date, cust_id) values(old.order_num, old.order_date, old.cust_id);
end;

update触发器
create trigger updatevendor before update on vendors for each row set new.vend_state = upper(new.vend_state);

1. 触发器:在某个表发生更改时自动处理的语句。是MySQL响应delete、insert、update语句而自动执行的一条MySQL语句(或位于begin和end语句之间的一组语句)。
2. 创建触发器
    1) 唯一的触发器名
       触发器必须在每个表中唯一,但不是在每个数据库中唯一。
    2) 触发器关联的表
       触发器按每个表每个事件每次地定义,每个表每个事件每次只允许一个触发器。单一触发器不能与多个事件或多个表关联。
       因此,每个表最多支持6个触发器(每条delete、insert、update的befor和after)。
    3) 触发器应该响应的活动(delete、insert、update)
    4) 触发器何时执行(处理之前或之后)
3. insert触发器
    将before用于数据验证和净化(目的是保证插入表中的数据确实是需要的数据,同样适用于update触发器)
    1) 在insert触发器代码内,可以引用一个名为new的虚拟表,访问被插入的行;
    2) 在before insert触发器中,new中的值也可以被更新(允许更改被插入的值);
    3) 对于auto_increment列,new在insert执行之前包含0,在insert执行之后包含新的自动生成值;
4. delete触发器
    使用begin和end语句标记触发器体不是必须的,不过也没有害处。
分享到:
评论

相关推荐

    mysql中触发器使用详解.docx

    在这里,`trigger_name`是触发器的名称,通常建议使用`table_time_event`的方式命名,如`student_after_insert`。`table_name`是你想要关联的表名,`time`可以是`BEFORE`或`AFTER`,表示触发器是在操作前还是后执行...

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

    在MySQL中,触发器(Trigger)是一种强大的功能,用于在特定的数据操作(如INSERT、UPDATE、DELETE)发生时自动执行预定义的SQL语句,以此来维护数据的完整性和一致性。触发器可以看作是数据库的自动反应机制,无需...

    MySQL 5.0 触发器.rar

    在MySQL 5.0中,可以使用`CREATE TRIGGER`语句来定义触发器。例如: ```sql CREATE TRIGGER trg_after_insert AFTER INSERT ON employees FOR EACH ROW BEGIN -- 触发器体,这里可以是多个SQL语句 INSERT INTO ...

    mysqltrigger触发器.pdf

    - MySQL 的早期用户长期以来一直有使用触发器的需求。 - 支持所有 ANSI 标准特性是 MySQL 发展的一个目标。 - 触发器可用于检查或防止不良数据进入数据库。 - 触发器允许改变或取消 `INSERT`、`UPDATE` 以及 `DELETE...

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

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

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

    MySQL触发器是数据库管理系统提供的一种机制,用于在特定的数据操作(如INSERT、UPDATE、DELETE)发生之前或之后自动执行预定义的SQL语句。这些触发器可以用来实现复杂的业务规则,确保数据的一致性和完整性,或者...

    MySQL触发器.pdf

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

    实验九MySQL的触发器.pdf

    通过这个实验,学生可以深入理解MySQL触发器的工作原理,以及如何在实际环境中应用它们来增强数据库的管理和安全性。实验报告应包含实验步骤、观察结果、问题分析和总结,以巩固理论知识和实践技能。

    mysql触发器使用

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

    mysql触发器(Trigger)简明总结和使用实例

    MySQL触发器是数据库管理系统中的一个重要概念,主要用于在特定的数据操作(如INSERT、UPDATE或DELETE)发生时自动执行预定义的SQL语句。触发器可以增强数据的完整性和一致性,实现复杂的业务逻辑,而无需在应用程序...

    mysql触发器文档

    ### MySQL触发器知识点详解 #### 引言 MySQL触发器是一种服务器端的程序,它可以响应特定的数据库事件(如插入、更新或删除记录)而自动执行。触发器自MySQL 5.0版本起被引入,这标志着MySQL在功能性上的一大进步,...

    mysql设置触发器权限问题的解决方法.pdf

    在 MySQL 中,触发器(Trigger)是一种特殊的存储过程,用于自动执行某些操作以维护数据的一致性和完整性。然而,在设置触发器时,用户可能会遇到权限问题,导致无法创建或修改触发器。本文将详细介绍 MySQL 设置...

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

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

    mysql触发器使用实例

    通过理解和熟练运用这些知识点,你可以有效地使用MySQL触发器来增强数据库的功能,确保数据的准确性和业务流程的顺利进行。不过,要注意触发器的使用可能会增加数据库的复杂度,因此需要谨慎设计和管理。

    mysql的触发器教程和示例代码

    MySQL的触发器是一种数据库对象,它允许在特定的数据库操作(如INSERT、UPDATE或DELETE)发生之前或之后执行预定义的SQL语句。...请根据这些资源进一步学习和实践,以便更好地掌握MySQL触发器的使用。

    数据库原理及应用MySQL-触发器部分的知识点整理

    以下是关于MySQL触发器的详细说明: **一、触发器的概念** 1. **概念**:触发器(Trigger)是MySQL提供的一种数据库对象,它在满足特定条件(如数据修改)时自动执行,以确保业务规则得到遵循。 2. **特点**:...

    mysql触发器实例

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

    Mysql触发器介绍

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

Global site tag (gtag.js) - Google Analytics