首页 > 数据库 > mysql教程 > mysql触发器new old详解_MySQL

mysql触发器new old详解_MySQL

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
发布: 2016-06-01 13:36:28
原创
2004 人浏览过

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
相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
如何检查created_in列是否在触发器内?
来自于 1970-01-01 08:00:00
0
0
0
mysql触发器
来自于 1970-01-01 08:00:00
0
0
0
尝试将 CASE/条件语句包装在 MySQL 触发器内
来自于 1970-01-01 08:00:00
0
0
0
java - 触发器使两张表同时更新
来自于 1970-01-01 08:00:00
0
0
0
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板