https://www.sitepoint.com/how-to-create-mysql-triggers/

I created two tables:

CREATE TABLE `sw_user` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(50) DEFAULT '',
`mobile` varchar(50) DEFAULT '',
`sex` tinyint(4) DEFAULT 0,
`address` varchar(255) DEFAULT '',
`status` tinyint(4) unsigned NOT NULL DEFAULT 1,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8;
CREATE TABLE `sw_log`  (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`t_name` varchar(50) DEFAULT '',
`t_id` int(11) unsigned DEFAULT 0,
`t_flag` tinyint(4) unsigned DEFAULT 1,
`status` tinyint(4) unsigned DEFAULT 1,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8;

I created three triggers:

CREATE TRIGGER `sw_user_insert` AFTER INSERT ON `sw_user` FOR EACH ROW BEGIN
INSERT INTO sw_log(t_name, t_id, t_flag) values('sw_user', NEW.id, 1);
END; CREATE TRIGGER `sw_user_update` AFTER UPDATE ON `sw_user` FOR EACH ROW BEGIN
INSERT INTO sw_log(t_name, t_id, t_flag) values('sw_user', OLD.id, 2);
END; CREATE TRIGGER `sw_user_delete` AFTER DELETE ON `sw_user` FOR EACH ROW BEGIN
INSERT INTO sw_log(t_name, t_id, t_flag) values('sw_user', OLD.id, 3);
END;

first, I insert some records:

INSERT INTO `sw_user`(name, mobile, sex, address) VALUES('coffee', '1801863971x', 1, 'Shenzhen');
INSERT INTO `sw_user`(name, mobile, sex, address) VALUES('sam', '1701892512y', 1, 'Beijing');
INSERT INTO `sw_user`(name, mobile, sex, address) VALUES('bruce', '1391766716x', 1, 'Nanjing');
INSERT INTO `sw_user`(name, mobile, sex, address) VALUES('vicky', '138982589x', 1, 'Shanghai');
sw_user

sw_log

second, I update and delete one record

UPDATE `sw_user` SET mobile = '1567892587x' WHERE id = 1;
DELETE FROM `sw_user` WHERE id = 1;

How to Create Triggers in MySQL的更多相关文章

  1. ORA-04089: cannot create triggers on objects owned by SYS

    04089 问题原因 因为你在以sys用户创建触发器,但oracle却不建议在sys用户下创建触发器.

  2. linux下安装多个mysql实例(摘自国外:How to create multiple mysql instance in CentOS 6.4 and Red Hat 6.4)

    How to create multiple mysql instance in CentOS 6.4 and Red Hat 6.4 from:http://sharadchhetri.com/20 ...

  3. mysql 数据库复制表 create table city1 like city;

    -- 只复制表结构 create table city1 like city; INSERT INTO test2 SELECT * FROM test; -- 上面的表必须存在 -- 复制整张表的数 ...

  4. mysql CREATE DATABASE语句 语法

    mysql CREATE DATABASE语句 语法 作用:创建数据库. 大理石构件 语法:CREATE DATABASE database_name mysql CREATE DATABASE语句 ...

  5. [MySQL Reference Manual] 24 MySQL sys框架

    24 MySQL sys框架 24 MySQL sys框架 24.1 sys框架的前提条件 24.2 使用sys框架 24.3 sys框架进度报告 24.4 sys框架的对象 24.4.1所有sys下 ...

  6. [MySQL Reference Manual] 7 备份和恢复

    7. 备份和恢复 本章主要会介绍: 1.备份的类型:逻辑备份,物理备份,全备和增量4种 2.创建备份的方法 3.还原方法,包括还原到时间点 4.备份计划,压缩和加密 5.表维护,恢复损坏的表 7. 备 ...

  7. MySQL常用SQL语句

    一.数据库操作 1.创建数据库: Mysql> CREATE DATABASE databaseName; Mysql数据库的数据文件默认存放在/usr/local/mysql/var/目录下, ...

  8. mysql传统主从、双主复制+keepalived配置步骤

    mysql主从.主主复制(双主复制)配置步骤 一:MySQL复制: MySQL复制简介: 将master服务器中主数据库的ddl和dml操作通过二进制日志传到slaves服务器上,然后在master服 ...

  9. MYSQL触发器学习笔记

    课程学至金色晨曦科技公司技术总监沙利穆 触发器 1.       什么是触发器 触发器是一种特殊类型的存储过程,不由用户直接调用.创建触发器时会对其进行定义,以便在对特定表或列作特定类型的数据修改时执 ...

随机推荐

  1. python学习day3 编程语言分类 变量 格式化输出

    1.编程语言分类 机器语言:直接使用二进制指令直接编写程序,直接操作计算机硬件,必须考虑硬件细节 汇编语言:使用英文标签代替二进制指令去编写程序,直接操作计算机硬件,必须考虑硬件细节对,不过相比机器语 ...

  2. 终端设备 tty,pty,pts 概念与文件描述符的联系

    第1节 理解终端设备tty.pty.pts概念 简要描述: 终端设备默认具有输入.输出功能. 现代我们最常用的接入服务器端的方式(如:ssh通过tcp/ip的方式连接服务器端,作为服务器的终端设备)为 ...

  3. 修改nginx日志格式为json

    Nginx 日志默认为普通文本的格式 /Oct/::: +] "https://boss.zbt.com/finance/partner/create-account-gateway?id= ...

  4. NumPy 高级索引

    NumPy 高级索引 NumPy 比一般的 Python 序列提供更多的索引方式.除了之前看到的用整数和切片的索引外,数组可以由整数数组索引.布尔索引及花式索引. 整数数组索引 以下实例获取数组中(0 ...

  5. webpack 打包问题2

  6. xadmin系列之django的url分发的方式

    一.先介绍一下我们自己的urls中是如何进行路由分发的 一.一级路由 urlpatterns = [ url(r'^upload/', views.upload,name="upload&q ...

  7. 日志排序(gets函数与sscanf的使用)

    题目链接:https://www.nowcoder.com/practice/0f64518fea254c0187ccf0ea05019672?tpId=40&tqId=21363&t ...

  8. Java10-java语法基础(九)——java的封装性

    Java10-java语法基础(九)——java的封装性 一.Java的三大特性:封装.多态.继承 封装:通过类封装对象的数据成员和成员方法,保证只有可信的类或者对象能够访问这些方法和数据成员,对不可 ...

  9. MongoDB的增、删、改、查操作(五)

    按照我们关系型数据库的思想,一个服务器要想存放数据,首先要有数据库,表,字段,约束,当然了也少不了主键,外键,索引,关系等: 但是在MongoDB的世界里边,我们不用预先的去创建这些信息从而直接来使用 ...

  10. 通过PHP CURL模拟请求上传文件|图片。

    现在有一个需求就是在自己的服务器上传图片到其他服务器上面,过程:客户端上传图片->存放到本地服务器->再转发到第三方服务器; 由于前端Ajax受限制,只能通过服务器做转发了. 在PHP中通 ...