手机版
你好,游客 登录 注册 搜索
背景:
阅读新闻

关于MySQL触发器new和old

[日期:2019-04-27] 来源:Linux公社  作者:Linux [字体: ]

下面为您介绍MySQL触发器new old的相关知识,供您参考学习,如果您在MySQL触发器方面遇到过类似的问题,不妨一看,相信对您会有所帮助。

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;

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址https://www.linuxidc.com/Linux/2019-04/158333.htm

linux
相关资讯       MySQL触发器 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款