简介:
触发程序是与表有关的命名数据库对象,当表上出现特定事件时,将激活该对象。
创建语法:
CREATE TRIGGER trigger_name trigger_time trigger_event
ON tbl_name FOR EACH ROW trigger_stmt
参数说明:
触发程序与命名为tbl_name的表相关。tbl_name必须引用永久性表。不能将触发程序与TEMPORARY表或视图关联起来。
trigger_time是触发程序的动作时间。它可以是BEFORE或AFTER,以指明触发程序是在激活它的语句之前或之后触发。
trigger_event指明了激活触发程序的语句的类型。trigger_event可以是下述值之一:
· INSERT:将新行插入表时激活触发程序,例如,通过INSERT、LOAD DATA和REPLACE语句。
· UPDATE:更改某一行时激活触发程序,例如,通过UPDATE语句。
· DELETE:从表中删除某一行时激活触发程序,例如,通过DELETE和REPLACE语句。
请注意,trigger_event与以表操作方式激活触发程序的SQL语句并不很类似,这点很重要。例如,关于INSERT的BEFORE触发程序不仅能被INSERT语句激活,也能被LOAD DATA语句激活。
可能会造成混淆的例子之一是INSERT INTO .. ON DUPLICATE UPDATE ...语法:BEFORE INSERT触发程序对于每一行将激活,后跟AFTER INSERT触发程序,或BEFORE UPDATE和AFTER UPDATE触发程序,具体情况取决于行上是否有重复键。
对于具有相同触发程序动作时间和事件的给定表,不能有两个触发程序。例如,对于某一表,不能有两个BEFORE UPDATE触发程序。但可以有1个BEFORE UPDATE触发程序和1个BEFORE INSERT触发程序,或1个BEFORE UPDATE触发程序和1个AFTER UPDATE触发程序。
trigger_stmt是当触发程序激活时执行的语句。如果你打算执行多个语句,可使用BEGIN ... END复合语句结构。这样,就能使用存储子程序中允许的相同语句。
创建:
DELIMITER$$
CREATE TRIGGER tri_add
AFTER INSERT ON users
FOR EACH ROW
BEGIN
INSERT INTO users2(id,`password`,`email`) VALUES(new.id,new.password,new.email);
END$$
修改:
DELIMITER$$
DROP TRIGGER IF EXISTS tri_add$$
CREATE TRIGGER tri_add
AFTER INSERT ON users
FOR EACH ROW
BEGIN
INSERT INTO users2(id,`password`,`email`) VALUES(new.id,new.password,new.email);
END$$
删除:
DROP TRIGGER IF EXISTS tri_add;
分享到:
相关推荐
MySQL中的触发器是一种数据库对象,它与特定的表相关联,并在对表执行INSERT、UPDATE或DELETE操作之前或之后自动执行预定义的SQL语句。触发器的主要作用是增强数据库的逻辑控制,确保数据完整性、记录操作日志以及...
MySQL触发器是数据库管理系统中的一种重要特性,它允许在特定的数据操作(如INSERT、UPDATE、DELETE)发生时自动执行预定义的SQL语句或存储过程。这种机制使得数据库管理员和开发人员可以实现复杂的业务规则和数据...
本文实例讲述了mysql触发器之创建多个触发器操作。分享给大家供大家参考,具体如下: 这次记录的内容mysql 版本必须得是5.7.2+的哈,之前的会不好使的。废话不多说,咱们开始正文哈。 在mysql 5.7.2+版本之前,我们...
总的来说,理解如何定义、查看和管理MySQL触发器是数据库管理员和开发人员必备的技能之一。通过熟练掌握触发器,我们可以更有效地维护数据的完整性和一致性,并实现更灵活的数据处理逻辑。学习更多关于MySQL的内容,...
MySQL 5.0 触发器是数据库管理系统MySQL中的一个重要特性,它允许用户在特定的数据库操作(如INSERT、UPDATE、DELETE)发生时自动执行预定义的SQL语句,从而实现对数据的自动管理和控制。这在数据一致性、业务规则的...
在MySQL中,触发器(Trigger)是一种强大的功能,用于在特定的数据操作(如INSERT、UPDATE、DELETE)发生时自动执行预定义的SQL语句,以此来维护数据的完整性和一致性。触发器可以看作是数据库的自动反应机制,无需...
通过这个实验,学生可以深入理解MySQL触发器的工作原理,以及如何在实际环境中应用它们来增强数据库的管理和安全性。实验报告应包含实验步骤、观察结果、问题分析和总结,以巩固理论知识和实践技能。
### MySQL触发器详解 #### 引言 MySQL作为一款广泛使用的开源关系型数据库管理系统,在其5.0版本中引入了许多重要的新特性,其中最引人注目的是存储过程、触发器、视图等高级功能的加入。本文将重点讨论MySQL 5.0...
MySQL触发器是数据库管理系统中的一个重要概念,主要用于在特定的数据操作(如INSERT、UPDATE或DELETE)发生时自动执行预定义的SQL语句。这些语句可以是复杂的业务逻辑,用于实现数据验证、同步或其他自动化任务。...
文件“MySQL存储过程.pdf”和“OReilly.MySQL.Stored.Procedure.Programming.rar”可能会提供关于如何创建、调用和管理MySQL存储过程的详细指南,而“MySQL触发器.rar”则可能包含触发器的创建、使用和优化方面的...
MySQL触发器是数据库管理系统中的一种重要机制,它允许在特定的数据库操作(如INSERT、UPDATE、DELETE)发生前后自动执行一段预定义的SQL代码。触发器的引入是为了满足更复杂的数据完整性需求,提供数据验证、业务...
【Oracle和MySQL触发器差异详解】 Oracle和MySQL都是广泛使用的数据库管理系统,但它们在特定功能上有显著的区别,尤其是在触发器的实现和使用上。触发器是一种数据库对象,它在特定的数据库事件(如INSERT、UPDATE...
触发器之所以重要,主要有以下几个原因: 1. **满足用户需求**:早期的MySQL版本中缺乏触发器这一特性,导致用户在实现某些逻辑时需要采取绕道的方法,引入触发器后可以直接在数据库层面实现逻辑控制。 2. **符合...
### MySQL触发器、存储过程、自定义函数、视图示例 #### 一、MySQL触发器 触发器是一种特殊类型的存储过程,它被设计为在特定事件(如INSERT、UPDATE或DELETE操作)发生时自动执行。触发器可以用来强制业务规则、...
### MySQL触发器教程知识点详解 #### 一、MySQL触发器简介 MySQL触发器是一种存储在数据库中的特殊类型的存储过程,当特定的事件(如插入、更新或删除数据)发生时自动执行。它们允许用户定义一系列复杂的规则和...
在深入探讨MySQL触发器的使用之前,我们先来理解一下什么是触发器以及它在数据库管理中的作用。触发器是数据库中一种特殊的存储过程,当特定的事件(如INSERT、UPDATE或DELETE操作)在指定的表上发生时自动执行。...
"mysql 设置触发器权限问题的解决方法" 在 MySQL 中,触发器(Trigger)是一种特殊的存储过程,用于自动执行某些操作以维护数据的一致性和完整性。然而,在设置触发器时,用户可能会遇到权限问题,导致无法创建或...
MYSQL触发器,可以使用它用来进行监控,例如商品价格变化,下单后商品库存减少等实用性操作!