欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

mysql触发器new old详解_MySQL

程序员文章站 2022-03-23 23:35:39
...
bitsCN.com

mysql触发器new old详解

mysql触发器new old:

"NEW . column_name"或者"OLD . column_name".这样在技术上处理(NEW | OLD . column_name)新和旧

的列名属于创建了过渡变量("transition variables")。

对于INSERT语句,只有NEW是合法的;对于DELETE语句,只有OLD才合法;而UPDATE语句可以在和NEW以及

OLD同时使用。下面是一个UPDATE中同时使用NEW和OLD的例子。

CREATE TRIGGER tr1

BEFORE UPDATE ON t22

FOR EACH ROW

BEGIN

SET @old = OLD.s1;

SET @new = NEW.s1;

END;

现在如果t21表中的s1列的值是55,那么执行了"UPDATE t21 SET s1 = s1 + 1"之后@old的值会变成55,

而@new的值将会变成56。

触发器的执行间隔:FOR EACH ROW子句通知触发器每隔一行执行一次动作,而不是对整个表执行一次。

列值递增:

create table a(

id int primary key auto_increment,##设置为自动递增

name varchar(10)

);

设置初始值为1000 :

ALTER TABLE tablename AUTO_INCREMENT=1000;

bitsCN.com
相关标签: 触发器 mysql