005—触发器


#======================================

#平台:windows7        

#MYsql版本:mysql-5.5.62-winx64(安装版)

#MYsql工具:SQLyog - 64 bitNavicat Premium 12

工具包地址:https://pan.baidu.com/s/17SOAmwcgOw9hYtTzDb9-Tw

#======================================

 

 

Q:什么是触发器?

 

A:触发器是与表有关的数据库对象,在满足定义条件时触发,并执行触发器中定义的语句集合。触发器的这种特性可以协助应用在数据库端确保数据的完整性。

 

创建触发器:

CREATE TRIGGER 触发器名 BEFORE|AFTER 触发事件

ON 表名 FOR EACH ROW

BEGIN

执行语句列表

END

 

其中,BEGINEND之间的执行语句列表参数表示需要执行的多个语句,不同语句用分号隔开

 

tips:一般情况下,mysql默认是以 作为结束执行语句,与触发器中需要的分行起冲突

 

     为解决此问题可用DELIMITER,如:DELIMITER$$,可以将结束符号变成$$

 

     当触发器创建完成后,可以用DELIMITER ;来将结束符号变成;

 

示例:

DELIMITER $$

CREATE TRIGGER demo BEFORE DELETE

   ON users FOR EACH ROW

    BEGIN

     INSERT INTO logs VALUES(NOW());

     INSERT INTO logs VALUES(NOW());

    END

    $$

DELIMITER;

 

查看触发器:

1、SHOW TRIGGERS \G

2、SELECT * FROM TRIGGERS \G

 

删除触发器:

1、DROP TRIGGER trigger_name 


猜你喜欢

转载自blog.51cto.com/6854290/2327587