淘宝客建设网站,建筑公司网站常用长尾词,网站建设策划书格式及范文,动漫设计是什么一、概述
Mysql 允许通过触发器、存储过程、函数的形式来存储代码。
触发器可以让你在执行 Insert、Update、Delete的时候#xff0c;执行一些特定的操作。可以在Mysql中指定是在Sql语句执行之前触发还是执行后触发。 二、使用触发器需要注意的点
对每一个表的每一个事件执行一些特定的操作。可以在Mysql中指定是在Sql语句执行之前触发还是执行后触发。 二、使用触发器需要注意的点
对每一个表的每一个事件最多只能定义一个触发器换句话说不能在AFTER INSERT上定义两个触发器。
Mysql只支持“基于行的触发”也就是说触发器始终是针对一条记录的而不是针对整个SQL语句的。所以如果变更的数据集非常大效率将会很低。 三、使用
1、基本说明
create trigger 【触发器名称】【触发器的执行时间点】【执行的动作点】 on 【表名】for each row [函数 或者动作]
说明
触发器执行时间before、after
执行的动作点insert, update, delete
函数包在 begin、end 之间
动作update、insert 2、使用
create triggerupdate_product_after
after update onproduct
for each row
beginupdate product set last_update_time TIMESTAMP-- 代码区域
end; 四、说明 由于目前大多数的 PHP 框架已经内置了事件触发的函数所以我们项目中已经很少再用到 Mysql 本身的触发器了。并且我们也完全可以在应用程序代码中去控制没必要在Mysql中去写事件代码了。 触发器可以掩盖服务器背后的工作一个简单的Sql语句背后因为触发器可能包含了很多看不见的工作。因此触发器的问题也很难排查如果某个性能问题和触发器相关将会很难定位和分析。 触发器可能导致死锁和锁等待。如果触发器失败那么原来的sql语句也会失败。如果没有意识到这其中是触发器在搞鬼那么将很难理解服务器抛出的出错误代码是什么意思。 原文链接https://www.haveyb.com/article/60