下面的文章主要描述的是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触发器创建: 1、MySQL触发器的创建语法: CREATE [DEFINER = { 'user' | CURRENT_USER }] TRIGGER trigger_name trigger_time trigger_event ON table_name FOR EACH ROW [trigger_order] trigger_...
Mysql触发器的例子,包括,创建,删除,修改,三种触发器的实例
本文实例讲述了mysql触发器简介、创建触发器及使用限制。分享给大家供大家参考,具体如下: 简介 SQL触发器是存储在数据库目录中的一组SQL语句。每当与表相关联的事件发生时,即会执行或触发SQL触发器,例如插入,...
触发器的操作包含创建、查看、删除。 触发器是数据库对象之一,该对象与编程语言 中的函数非常类似,都需要声明、执行等。但是触发器的执行不是由程序调用,也不是由手工启动,而是由事件来触发、激活从而实现...
本文实例讲述了MySQL 触发器定义与用法。分享给大家供大家参考,具体如下: 语法 CREATE TRIGGER 触发器名称 –触发器必须有名字,最多64个字符,可能后面会附有分隔符.它和MySQL中其他对象的命名方式基本相象. { ...
介绍了MySQL触发器的相同内容。包括触发器的创建、删除,使用和测试过程
主要介绍了MySQL触发器简单用法,结合实例形式分析了mysql触发器的创建、执行、查看、删除等相关操作技巧,需要的朋友可以参考下
MySQL 触发器简单实例 语法 CREATE TRIGGER <...表名称> –触发器是属于某一个表的:当在这个表上执行插入、 更新或删除操作的时候就导致触发器的激活. 我们不能给同一张表的同一个事件安排两个触发器
本文实例讲述了mysql触发器原理与用法。分享给大家供大家参考,具体如下: 本文内容: 什么是触发器 创建触发器 单条触发器语句 多条触发器语句 查看触发器 删除触发器 触发器的新旧记录引用 首发日期:2018-...
MySQL触发器语法详解: 触发器 trigger是一种特殊的存储过程,他在插入(inset)、删除(delete)或修改(update)特定表中的数据时触发执行,它比数据本身标准的功能更精细和更复杂的数据控制能力。触发器不是由...
数据库原理及应用MySQL中触发器部分有关的知识点整理,包括再MySQL中创建、删除、查看触发器的相关知识点,并包括相关的语法和语句。还有使用触发器应该注意的一些要点。 适合数据库专业的或是计算机相关专业的朋友...
整篇文章为个人学习心得,之后会持续发表mysql高级进阶,javaweb框架等知识点文章,制作不易,加个关注 触发器: 是和表关联的特殊的存储过程,可以再插入,删除,修改表中的数据时触发执行 优点: 安全性,审计...
在SQL中,名词触发器指“在数据库中为响应...在本文中将简单介绍如何定义并使用触发器,查看触发器状态,并如何在使用完毕后删除触发器。还将为你展示一个触发器在现实世界中的应用实例,并检验它对数据库记录的改变。
MySQL触发器和存储过程一样,都是嵌入到MySQL的一段程序。触发器是由事件来触发某个操作,这些事件包括INSERT、UPDATE、DELETE。如果定义了触发器,当数据库执行这些语句的时候就会激活触发器执行相应的操作,触发...
MySQL系列—-存储过程、触发器存储过程创建一个存储过程,使得结果输出两个数的和执行存储过程,计算38加上26的和触发器在student表中创建删除触发器ctr_del查看触发器ctr_del的一般信息和文本信息删除学号为...
本文实例讲述了MYSQL设置触发器权限的方法,针对权限错误的情况非常实用。具体分析如下: mysql导入数据提示没有SUPER Privilege权限处理,如下所示: ERROR 1419 (HY000): You do not have the SUPER Privilege ...
30.MySQL高级触发器创建及应用.avi └31.MySQL高级触发器查看及删除.mp4 ├第三天视频 01.MySQL高级今日内容.mp4 02.MySQL高级应用优化.avi 03.MySQL高级查询缓存概述及流程.avi 04.MySQL高级查询缓存配置参数.avi ...
当工作在非常大的表上时,你可能偶尔需要运行很多查询获得一个大量数据的小的子集,不是对整个表运行这些查询,而是让...当你断开时,MySQL将自动删除表并释放所用的空间。当然你可以在仍然连接的时候删除表并释放空
MySQL触发器的作用 二、触发器语法 1. 创建语法四要素 2. 语法公式 3. 语法参数说明 4. NEW 与 OLD关键字详解 三、实际应用 1. 数据准备 2. 使用案例 # Insert触发器 – 级联插入 # Delete触发器 – 级联删除 # ...