`
wiley
  • 浏览: 252143 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

MySQL触发器的使用

阅读更多
1、创建触发器:
语法:
CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_name
FOR EACH ROW 
BEGIN
 trigger_stmt
END;

大写的为关键字
trigger_name:触发器的名字,我常用的命名规则t_name_tableName_(b|a)(i|u|d),t:触发器标识,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 sumcomment=sumcomment+1,sumconsume=sumconsume+NEW.consume,sumservice=sumservice+NEW.service, sumroom=sumroom+NEW.room,sumentiron=sumentiron+NEW.entironment,total=total+(NEW.service+NEW.room+NEW.entironment) WHERE hotel_id=NEW.hotel_id;
  ELSEIF OLD.ispass=1 && NEW.ispass=0 THEN
     UPDATE hotel_info SET sumcomment=sumcomment-1,sumconsume=sumconsume-NEW.consume,sumservice=sumservice-NEW.service, sumroom=sumroom-NEW.room,sumentiron=sumentiron-NEW.entironment,total=total-(NEW.service+NEW.room+NEW.entironment) WHERE hotel_id=NEW.hotel_id;
  END IF;
END;//
delimiter ;

说明:delimiter 改变语句结束符
分享到:
评论

相关推荐

    mysql触发器使用

    mysql触发器使用mysql触发器使用mysql触发器使用mysql触发器使用mysql触发器使用mysql触发器使用mysql触发器使用mysql触发器使用mysql触发器使用mysql触发器使用mysql触发器使用mysql触发器使用mysql触发器使用mysql...

    mysql触发器使用实例

    mysql触发器使用实例 看下例子基本上就会操作了!

    MYSQL触发器使用详解

    MYSQL触发器,可以使用它用来进行监控,例如商品价格变化,下单后商品库存减少等实用性操作!

    MySQL触发器.pdf

    MySQL触发器教程

    mysql触发器+存储过程

    mysql触发器+存储过程

    mysql中触发器使用详解.docx

    触发器是与表有关的数据库对象,在对表进行insert/update/delete之前或之后,会触发并执行触发器中定义的SQL语句。触发器的这种特性可以协助应用在数据库端确保数据的完整性,记录日志,校验数据等。

    MYSQL触发器教程.doc

    该抛弃旧的MySQL的手册了我在这里警告大家不要相信过去的MySQL手册中所说的了。我们已经去掉了关于触发器的错误的语句,... 最后关于说使用触发器会对查询速度产生影响的说法也是错的,触发器不会对查询产生任何影响。

    MySQL触发器使用详解

    MySQL包含对触发器的支持。触发器是一种与表操作有关的数据库对象,当触发器所在表上出现指定事件时,将调用该对象,即表的操作事件触发表上的触发器的执行。 创建触发器 在MySQL中,创建触发器语法如下: 代码如下...

    MySQL触发器.rar

    MySQL触发器

    MySQL触发器的使用说明

    MySQL触发器的使用说明,利用函数每秒触发一次...............................................................

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

    主要介绍了mysql触发器之触发器的增删改查操作,结合实例形式分析了mysql触发器的定义及使用触发器进行增删改查等相关操作技巧,需要的朋友可以参考下

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

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

    mysql触发器教程

    mysql触发器教程

    mysql触发器文档

    MySQL触发器说明和编写时的注意事项,其功能越来越强,可以学习

    MYSQL触发器在PHP项目中用来做信息备份、恢复和清空

    MYSQL触发器在PHP项目中用来做信息备份、恢复和清空 MYSQL触发器在PHP项目中用来做信息备份、恢复和清空

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

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

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

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

    mysql 触发器文档

    学习mysql触发器的好东西

    mysql触发器实例

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

Global site tag (gtag.js) - Google Analytics