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
推荐阅读
-
详解mysql5.7密码忘记解决方法
-
详解mysql集群:一主多从架构实现
-
CentOS安装mysql5.7 及简单配置教程详解
-
MySQL5.6.31 winx64.zip 安装配置教程详解
-
MySQL 5.0触发器参考教程第1/4页
-
MySQL 5.6下table_open_cache参数优化合理配置详解
-
图灵学院Java架构师-VIP-【性能调优-Mysql索引数据结构详解与索引优化】
-
详解Linux 安装 JDK、Tomcat 和 MySQL(图文并茂)
-
mysql触发器之创建多个触发器操作实例分析
-
mysql事件之修改事件(ALTER EVENT)、禁用事件(DISABLE)、启用事件(ENABLE)、事件重命名及数据库事件迁移操作详解