一、建表

testb_log表

/* test库下建立testb_log表 */
CREATE TABLE `test`.`testb_log`  (`ID` int(8) NOT NULL AUTO_INCREMENT,`TESTB_ID` int(11) DEFAULT NULL,`NAME` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,`AGE` int(11) DEFAULT NULL,`STATUS` int(1) DEFAULT NULL,`NEW_STATUS` int(1) DEFAULT NULL,`ACTION` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,`TIME` datetime(0) DEFAULT NULL,PRIMARY KEY (`ID`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 19 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

testb表见MySQL存储过程之游标的使用

二、触发器之insert

delimiter $$
CREATE TRIGGER tr_testb_insert AFTER INSERT ON testb FOR EACH ROW
BEGININSERT INTO testb_log (TESTB_ID,`NAME`, AGE,`STATUS`,`ACTION`,TIME)
VALUES(NEW.ID, NEW.NAME, NEW.AGE, NEW.STATUS,'INSERT',NOW());
END;
$$

三、触发器之update

delimiter $$
CREATE TRIGGER tr_testb_update AFTER UPDATE ON testb FOR EACH ROW
BEGININSERT INTO testb_log (TESTB_ID,`NAME`, AGE,`STATUS`,`ACTION`,TIME, NEW_STATUS)
VALUES(OLD.ID, OLD.NAME, OLD.AGE, OLD.STATUS, 'UPDATE', NOW(), NEW.STATUS);
END;
$$

四、触发器之delete

delimiter $$
CREATE TRIGGER tr_testb_delete BEFORE DELETE ON testb FOR EACH ROW
BEGININSERT INTO testb_log (TESTB_ID,`NAME`, AGE,`STATUS`,`ACTION`,TIME)
VALUES(old.ID, OLD.NAME, OLD.AGE, OLD.STATUS,'DELETE',NOW());
END;
$$

五、其他

/*查看已启用的触发器*/
SHOW TRIGGERS;
/*删除名为tr_testb_insert的触发器*/
DROP TRIGGER tr_testb_insert;

六、验证

①插入一条数据

INSERT INTO testb ( ID, NAME, AGE, STATUS ) VALUES ( 1, '小明', 11, 0 )

testb_log表显示如下:

②更新一条数据

UPDATE testb SET `STATUS`='1' WHERE ID=1

testb_log表显示如下:

③删除一条数据

DELETE FROM testb WHERE ID=1

testb_log表显示如下:

MySQL触发器之insert、update、delete的使用相关推荐

  1. mysql字符集,insert,update,delete,select

    发现有错误:数据太长了. //查看数据库的所有编码: show variables like 'character%'; -----+ | character_set_client     | utf ...

  2. linux mysql 事务_linux下mysql Insert update delete 事务 用户管理

    linux下mysql Insert update delete  事务 用户管理 1.INSERT插入语句格式: INSERT INTO tb_name (字段1, 字段2, ...) VALUES ...

  3. mysql删除语句事务_事务用来管理 insert,update,delete 语句

    MySQL 事务 MySQL 事务主要用于处理操作量大,复杂度高的数据.比如说,在人员管理系统中,你删除一个人员,你既需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数 ...

  4. PHP5: mysqli 插入, 查询, 更新和删除 Insert Update Delete Using mysqli (CRUD)

    原文: PHP5: mysqli 插入, 查询, 更新和删除  Insert Update Delete Using mysqli (CRUD) PHP 5 及以上版本建议使用以下方式连接 MySQL ...

  5. SQL Server 2008中SQL增强之三:Merge(在一条语句中使用Insert,Update,Delete)

    SQL Server 2008中SQL增强之三:Merge(在一条语句中使用Insert,Update,Delete) SQL Server 2008提供了一个增强的SQL命令Merge,用法参看MS ...

  6. mybatis配置insert/update/delete同一个模板

    insert,update,delete标签只是一个模板,在操作时是以sql语句为核心的, 即在做增/删/改时,insert/update/delete便签可以通用, 但做查询时只能用 select ...

  7. 内容必须匹配 (cache-ref|cache|resultMap*|parameterMap*|sql*|insert*|update*|delete*|selec

    元素类型为 "mapper" 的内容必须匹配 "(cache-ref|cache|resultMap*|parameterMap*|sql*|insert*|update ...

  8. 数据操纵:SELECT, INSERT, UPDATE, DELETE

    1 SELECT 句法 2 3 SELECT [STRAIGHT_JOIN] 4 [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT] 5 [ ...

  9. sql触发器(insert,update,delete)

    --insert 触发器 create trigger tri_insert on student --将要进行更改的表名 for insert --给表插入一条数据的时候触发 as declare ...

最新文章

  1. Java 虚拟机总结给面试的你(下)
  2. 我怎么在AD里面找到已经改名的Administrator账户?
  3. ubuntu18.04虚拟机突然不能上网问题解决办法
  4. AR独角兽的死亡教训:融资3亿美元后,成投资人提线木偶,营销大于产品技术...
  5. 程序开发中那些莫名奇妙的bug
  6. mysql安装教程_mysql8.0.20安装教程,mysql下载安装教程8.0.20
  7. Python Apex 武器自动识别与压枪 全过程记录
  8. Pycharm中如何pip下载包更快
  9. dscms源码分析笔记
  10. Flink DataStream的多流、键控流、窗口、连接、物理分区转换算子的使用
  11. Chrome浏览器 抢购、秒杀插件,秒杀助手
  12. Amcharts 入门教程
  13. win7怎么查看计算机用户名,Win7怎么查看自己电脑ip地址?
  14. css 设置背景图片模糊效果
  15. 航天工业出版社C语言答案,c语言实验答案桂林航天工业高等学校
  16. VR在国内越做越“廉价”,到底需要反思什么?
  17. 【python】装饰模式
  18. C++ 调用打印机 打印一段文字
  19. 数睿数据资讯 |《洞见・大咖说》对话数睿数据李争辉 探讨400%高增长背后的关键抓手
  20. GitHub 热点速览 Vol.18:刷 LeetCode 的正确姿势

热门文章

  1. MacOS使用conan
  2. oracle中转换函数,Oracle中的转换函数
  3. Android上传蒲公英平台脚本
  4. 解决物理机为ubuntu与virtualbox客户机为windows10间剪切板不能用的问题
  5. 数据同步工具—DataX—Web部署使用
  6. 对比学习-SimSiam-论文精读解析
  7. Linux firefox 网页截图
  8. 新手怎么制作word表格
  9. STM32 DAC + DMA + TIM 输出正弦波,三角波,方波信号
  10. 思科模拟器PacketTracer7--利用一台交换机和2台pc互连构成小型局域网