下面的文章主要描述的是MySQL触发器的正确创建步骤,MySQL触发器的删除,你如果对MySQL触发器的正确创建步骤,MySQL触发器的删除有兴趣的话你就可以点击以下的文章进行观看了。
1、创建MySQL触发器:
语法:
- CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_name
- FOR EACH ROW
- BEGIN
- trigger_stmt
- END;
- CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_name
- FOR EACH ROW
- BEGIN
- trigger_stmt
- END;
例子
- CREATE TRIGGER SetUserHome after insert ON users
- FOR EACH ROW
- BEGIN
- update `users` set homeLocationX = 128,
- homeLocationY=128, homeLocationZ=30
- where uuid = NEW.uuid
- END
以上的例子是错误的, 让本表进行触发时进行更新会让程序进入死循环。
系统会报这样的错误:it is already used by statement which invoked this stored function/trigger.
应该改成以下语句:
- CREATE TRIGGER SetUserHome before insert ON users
- FOR EACH ROW
- BEGIN
- set New.homeLocationX = 128;
- set New.homeLocationY = 128;
- set New.homeLocationZ=30;
- END
大写的为关键字
trigger_name:触发器的名字,我常用的命名规则t_name_tableName_(b|a)(i|u|d),t:MySQL触发器标识,name:英文名,tableName:表名,b(BEFORE):标识是触发事件之前,a(AFTER):标识触发事件之后,i(insert):标识insert事件,u(update):标识update事件,d(delete):标识delete事件;
trigger_time:触发时间(BEFORE或AFTER)
trigger_event:事件名(insert或update或delete)
tbl_name:表名(必须是永久性表)
trigger_stmt:执行语句(可以是复合语名),使用别名OLD和NEW,能够引用与触发程序相关的表中的列。
2、删除解发器
语法:
- DROP TRIGGER [schema_name.]trigger_name;
注意:以上操作均需SUPER权限
示例:
- DROP TRIGGER t_wiley_hotelComment_bu;
- delimiter //
- CREATE TRIGGER t_wiley_hotelComment_bu BEFORE UPDATE ON hotel_comment
- FOR EACH ROW
- BEGIN
- IF OLD.ispass=0 && NEW.ispass=1 THEN
- UPDATE hotel_info SET sumcommentsumcomment=sumcomment+1,
- ELSEIF OLD.ispass=1 && NEW.ispass=0 THEN
- UPDATE hotel_info SET sumcommentsumcomment=sumcomment-1,
- END IF;
- END;//
- delimiter ;
以上的相关内容就是对MySQL触发器的使用的介绍,望你能有所收获。
相关推荐
触发器创建与管理实验报告 在本实验中,我们将学习触发器的概念、类型、功能和工作原理,并掌握创建、更改、删除触发器的方法。此外,我们还将学习如何利用触发器维护数据完整性。 一、触发器概念和类型 触发器是...
MySQL触发器在实际应用中扮演着重要角色,比如在数据插入、更新或删除前后的验证、审计日志记录、数据同步和计算复杂业务逻辑等场景。触发器的使用应该谨慎,因为它们可能会增加数据库的复杂性,并可能导致性能问题...
文件“MySQL存储过程.pdf”和“OReilly.MySQL.Stored.Procedure.Programming.rar”可能会提供关于如何创建、调用和管理MySQL存储过程的详细指南,而“MySQL触发器.rar”则可能包含触发器的创建、使用和优化方面的...
### MySQL触发器详解 #### 引言 MySQL触发器,作为MySQL 5.0版本引入的一项重要特性,为数据库管理提供了更为精细的控制能力。触发器允许在特定的数据库操作(如INSERT、UPDATE、DELETE)发生时自动执行SQL语句,...
MySQL触发器是一种服务器端的程序,它可以响应特定的数据库事件(如插入、更新或删除记录)而自动执行。触发器自MySQL 5.0版本起被引入,这标志着MySQL在功能性上的一大进步,使其能够更好地满足企业级应用的需求。 ...
MySQL触发器是一种存储在数据库中的特殊类型的存储过程,当特定的事件(如插入、更新或删除数据)发生时自动执行。它们允许用户定义一系列复杂的规则和逻辑,以便在数据库操作时执行额外的操作。 #### 二、MySQL...
MySQL中的触发器是一种数据库对象,它与特定的表相关联,并在对表执行INSERT、UPDATE或DELETE操作之前或之后自动执行预定义的SQL语句。触发器的主要作用是增强数据库的逻辑控制,确保数据完整性、记录操作日志以及...
在"MySQL触发器.pdf"这本书籍教程中,你可能会深入学习到触发器的详细用法,包括如何创建、修改和删除触发器,以及如何在实际项目中有效利用它们。"下载说明.txt"可能包含了获取更多资源的指引,而"A5下载- 更全的...
MySQL触发器是数据库管理系统中的一个重要特性,用于在特定的数据操作(如INSERT、UPDATE或DELETE)发生时自动执行预定义的SQL语句。这些语句可以是复杂的业务逻辑,用来确保数据的一致性、完整性和安全性。在本篇...
4. **触发器的语法**:展示了创建、修改和删除触发器的SQL语句格式,包括定义触发器的名字、关联的表、触发条件和执行的SQL代码。 5. **示例应用**:提供了实际案例,如在插入新记录时自动计算累计值,或者在更新...
通过这个实验,学生可以深入理解MySQL触发器的工作原理,以及如何在实际环境中应用它们来增强数据库的管理和安全性。实验报告应包含实验步骤、观察结果、问题分析和总结,以巩固理论知识和实践技能。
MySQL触发器是数据库管理系统中的一个重要特性,它允许在特定的数据操作(如INSERT、UPDATE或DELETE)发生时自动执行预定义的SQL语句。这为数据库的业务规则提供了强大的支持,可以确保数据的一致性和完整性。以下是...
一、MySQL触发器创建: 1、MySQL触发器的创建语法: CREATE [DEFINER = { 'user' | CURRENT_USER }] TRIGGER trigger_name trigger_time trigger_event ON table_name FOR EACH ROW [trigger_order] trigger_...
- 要恢复已删除的信息,可以创建一个触发器,在从`employeebackup`表中删除记录时,同时将这些记录插入回`employee`表。 - 这个恢复过程可能涉及到一个AFTER DELETE触发器,它在从备份表中删除记录后立即执行,将...
### MySQL触发器详解 #### 一、引言 MySQL 的触发器与存储过程类似,都是内嵌于数据库的一种编程机制。触发器的概念最早出现在 MySQL 5.0 版本中,这一特性使得开发者能够编写自动化的数据库操作逻辑,用于响应...
【MySQL触发器详解】 MySQL触发器是数据库管理系统中的一种重要特性,它允许用户在特定的数据库操作(如INSERT、UPDATE或DELETE)发生之前或之后自动执行预定义的SQL语句。这种特性使得数据库能实现更复杂的业务...
MySQL触发器是数据库管理系统提供的一种机制,允许在特定的数据操作(如INSERT、UPDATE或DELETE)发生前后自动执行一些预定义的SQL语句。这使得数据库能够实现更复杂的业务逻辑,而不必在应用程序代码中处理这些逻辑...