mysql触发器

摘要:
四要素:1.监视表(table)2.监视事件(insert/update/delete)3.触发时间(after/before)4.触发事件(insert/update/delete)语法:CREATETRIGGERtriggernameAFTER/BEFOREINSERT/UPDATE/DELETEON表名FOREACHROW#这句话在MYSQL是固定的BEGINSQL语句;END;处理语句中可

四要素:
1.监视表(table)
2.监视事件(insert/update/delete)
3.触发时间(after/before)
4.触发事件(insert/update/delete)

语法:

CREATE TRIGGER triggername

AFTER/BEFORE INSERT/UPDATE/DELETE ON 表名

FOR EACH ROW #这句话在MYSQL是固定的

BEGIN

SQL语句;

END;

处理语句中可以使用 new 代表新数据 old代表旧数据
CREATE TRIGGER trg
AFTER INSERT ON tableName
FOR EACH ROW
BEGIN
UPDATE table_name SET num=num-new.much WHERE id=new.gid;
END$

CREATE TRIGGER trg
AFTER DELETE ON tableName
FOR EACH ROW
BEGIN
UPDATE table_name SET num = num + old.much WHERE id = old.gid;
END$

befor 和 after的区别

一个是在触发前执行 一个是触发后执行
在sql处理语句中均可使用new 和 old

免责声明:文章转载自《mysql触发器》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇bitmap原理和redis bitmap应用Oracle用户及角色的权限管理[Oracle基础]下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

操作笔记:linux下安装mysql

1,检查linux下是否安装了mysql shell指令如下: [root@iZ945sgm0ugZ ~]# rpm -qa|grep -i mysql 如果有的话:做出挨个删除(eg:rpm -ev mysql-connector-odbc-5.2.5-6.el7.x86_64) [root@iZ945sgm0ugZ ~]# rpm -qa|grep -...

Mac上安装MySQL后在终端连接不上数据库Command not found

Mac上安装好MySQL要想在终端输入mysql命令,但是报Command not found,解决办法 打开终端输入如下命令:  /usr/local/mysql/bin/mysql -u root -p 其中root为用户名。这时会出现如下命令:Enter password:  123456 用文本编辑器打开.bash_profile,加入PATH=$...

Oracle AWR报告自动生成并ftp脚本

脚本主要由以下几个部分组成: awr.sql 用来在sqlplus 中执行的脚本,该脚本从网上直接找的。 awr.sh 用来调用sqlplus来生成awr报告。 ftp.sh 用来打包压缩每天生成的awr报告(压缩率大于50倍),并进行ftp传输,清理过期的报告,对于linux和solaris略有不同。 crontab 用来执行定时任务,根据需求进行调整。...

D触发器的使用小结

最近因为项目的原因,硬件电路做的比较复杂,使用比较的少的io口控制128个led灯,实际上是6给io口。三个用来选择灯板,38译码器实现,有个用来输入数据ds,另一个用于产生移位寄存器的shcp的clk上升沿,最后一个用于产生stcp的上升沿。 本文说说D触发器,d触发器很简单,功能是用来锁存数据,输入端电压,只有在clk的有上升沿的时候,才会将上升沿对应...

【Database】MySQL各版本的区别

MySQL 的官网下载地址:http://www.mysql.com/downloads/ 在这个下载界面会有几个版本的选择。 1. MySQL Community Server 社区版本,开源免费,但不提供官方技术支持。2. MySQL Enterprise Edition 企业版本,需付费,可以试用30天。3. MySQL Cluster 集群版,开源...

mysql导出导入sql文件方法(linux)

一、导入导出.sql文件for Linux: 1、从mysql中导出数据库test: 在终端运行:mysqldump -h localhost -u root -p test > /home/chuzj/daochu.sql 其中localhost是服务器名字 test是数据库名字,其后可以直接跟表名 2、将daochu.sql 导入到mysql数...