1.触发器的概述
触发器:可以看作是一种特殊类型的存储过程.
触发器与存储过程的区别:存储过程使用时需要调用,而触发器是在预先定义好的事件(如INSERT、 DELETE等操作)发生时,才会被 MySQL自动调用
创建触发器时需要与数据表相关联,当表发生特定事件(如 INSERT丶 DELETE等操作)时,就会自动执行触发器中提前预定好的SQL代码.
功能:实现插入数据前,强制检验或转换数据等操作,或是在触发器中代码执彳错误后,撤销已执行成功的操作,保证数据的安全
触发器在使用时的优点和缺点优点:
优点:触发器可以通过数据库中的相关表实现级联无痕更改操作;保证数据安进行安全校验.
缺点:触发器的使用会影响数据库的结构,同时增加了维护的复杂程度;触器的无痕操作会造成数据在程序(如PHP丶Java等)层面不可控.
2.触发器的基本操作
在创建触发器时需要指定触发器的操作对象——数据表,且该数据表不能是临时表或视图.
CREATE TRIGGER触发器名字 触发时机 触发事件 ON 表 FOR EACH ROW 触发器 BEGIN 操作的内容 END
指定数据库下的触发器名必须唯一,而不同数据库可含有名称相同的触发器.
"ON表 FOR EACH ROW"指定触发器的操作对象.
触发时机表示数据表在发生变化前后的两种状态
触发事件表示激活触发器的操作类型.
触发顺序表示指定同一个表中多个触发器的执行顺序,默认按创建顺序激活.