流媒体网站开发,有没有做定制衣服的网站,科技布沙发优缺点,做一元云购网站触发器
本文学习什么是触发器#xff0c;为什么要使用触发器以及如何使用触发器#xff0c;还介绍创建和使用触发器的语法。
MySQL语句在需要时被执行#xff0c;存储过程也是如此。但是#xff0c;如果你想要某条语句#xff08;或某些语句#xff09;在事件发生自动执…触发器
本文学习什么是触发器为什么要使用触发器以及如何使用触发器还介绍创建和使用触发器的语法。
MySQL语句在需要时被执行存储过程也是如此。但是如果你想要某条语句或某些语句在事件发生自动执行怎么办呢例如每当增加一个员工到数据库表时都检查其电话号码格式是否正确first_name是否为首字母大写无论何时删除一行都在某个存档表中保留一个副本。
触发器是MySQL响应以下任意语句而自动执行的一条MySQL语句或位于BEGIN和END语句之间的一组语句DELETEINSERTUPDATE。
创建触发器
触发时机触发器可以定义为在事件发生之前BEFORE或之后AFTER执行。触发事件主要有三种触发事件INSERT插入新行时、UPDATE更新行时、和 DELETE删除行时。触发器类型根据触发时机和事件的不同组合可以创建不同类型的触发器如 BEFORE INSERT、AFTER UPDATE 等。操作对象触发器可以直接访问和操作触发它们的表称为“触发表”还可以访问一个名为 OLD对于 DELETE 和 UPDATE和 NEW对于 INSERT 和 UPDATE的虚拟表用来表示触发事件前后的行状态。
触发器名必须在每个表中唯一但不是在每个数据库中唯一。这表示同一数据库中的两个表可具有相同名字的触发器。
触发器的基本语法
CREATE TRIGGER trigger_name
BEFORE | AFTER trigger_event ON table_name
FOR EACH ROW
BEGIN-- 触发器要执行的SQL语句
END;删除触发器
DROP TRIGGER
使用触发器
在INSERT触发器代码内可引用一个名为NEW的虚拟表访问被插入的行在BEFORE INSERT触发器中NEW中的值也可以被更新允许更改被插入的值
在DELETE触发器代码内你可以引用一个名为OLD的虚拟表访问被删除的行OLD中的值全都是只读的不能更新。
在UPDATE触发器代码中你可以引用一个名为OLD的虚拟表访问以前UPDATE语句前的值引用一个名为NEW的虚拟表访问新更新的值。