国外网站翻墙怎么做,企业网站制作商,iis部署网站 红叉,网站防止恶意注册MYSQL基础——触发器 引入触发器 什么是触发器 如果你想要某条语句(或某些语句)在事件发生时自动执行。比如#xff1a; 每当订购一个产品时#xff0c;都从库存数量中减去订购的数量#xff1b;无论何时删除一行#xff0c;都在某个存档表中保留一个副本。就需要用到触发器…MYSQL基础——触发器 引入触发器 什么是触发器 如果你想要某条语句(或某些语句)在事件发生时自动执行。比如 每当订购一个产品时都从库存数量中减去订购的数量无论何时删除一行都在某个存档表中保留一个副本。就需要用到触发器。触发器是MySQL响应以下任意语句而自动执行的一条MySQL语句或位于BEGIN和END语句之间的一组语句 DELETE INSERT UPDATE 说明 其他MySQL语句不支持触发器。只有表才支持触发器、视图不支持临时表也不支持。 创建触发器 触发器用CREATE TRIGGER 语句创建一条伪代码如下 CREATE TRIGGER newType AFTER INSERT ON ms_articletype for each row select Product Added;
Error Code: 1415. Not allowed to return a result set from a trigger 创建一个触发器需要给出4条信息 唯一的触发器名 newType触发器关联的表 ms_articletype触发器应该响应的活动 DELETE、INSERT、UPDATE触发器何时执行AFTER、BEFORE 删除触发器 触发器不支持更新或者覆盖为了修改一个触发器必须先删除它然后重新创建它。 DROP TRIGGER newtype; 使用触发器 INSERT触发器 INSERT触发器在INSERT语句执行之前或者之后执行需要知道以下几点 在INSERT触发器代码内可引用一个名为NEW的虚拟表访问被插入的行。在BEFORE INSERT触发器中NEW中的值也可以被更新允许更改被插入的值。即通过NEW来修改被插入的数据。对于AUTO_INCRMENT列NEW在INSERT执行之前包含0在执行之后包含新的自动生成值。 实例 DELETE触发器 说明 在DELETE触发器代码内你可以引用一个名为OLD的虚拟表访问被删除的行。OLD表中的数据全是只读的不能被修改。 实例 UPDATE触发器 说明 在UPDATE中你可以使用OLD和NEW两张表。在BEFORE UPDATE触发器中NEW中的值可能也被更新允许更改将要用于UPDATE语句中的值OLD表中的值是只读的不可以被更改。实例 退货实例 CREATE TRIGGER updateGoods AFTER UPDATE ON ms_sale for each row update ms_order SET or_numberor_number(OLD.sale_number-NEW.sale_number) WHERE or_idOLD.sale_or_id; 转载于:https://www.cnblogs.com/MrSaver/p/8012137.html