mysql触发器中监控字段的改变方式

 更新时间:2023年08月30日 09:42:16   作者:某科学的南条  
这篇文章主要介绍了mysql触发器中监控字段的改变方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

mysql触发器中监控字段的改变

mysql的触发器分为多种,INSERT或UPDATE或DELETE触发器

比如使用UPDATE触发器的时候,是整条数据改变后就会触发

那么检测单个字段的改变,

可以有如下写法:

if NEW.nor_price <> OLD.nor_price then
     update `dst_111yao_doms`.`d_price_upt` set price = NEW.nor_price , `status` = '0' , createtime = now() 
     where olshopid = NEW.olshopid and tfid = NEW.pfid and warecode = NEW.outter_id and skuid = NEW.sku;
end if;

当一条数据触发了触发器后,判定NEW字段和OLD字段是否相等,如果不相等,那么就监控到了该字段的改变

mysql触发器怎么写?

一个项目涉及到MySQL触发器的应用 以前没怎么接触过 就百度了一下 结果吧 考下来基本用不了 看来还是得自己动手 

我们不去看别的 看我的就行 这个方法比较简单 直接phpmyadmin里点击触发器 然后填上该填的

比如你监控a表的b字段那么选择的表就是a,然后想控制a表b字段有更新的时候 把传入更新的值乘以7保存到表里 就是你原本是程序传给B的值是1 想实现存表中的值是它的7倍 我们看看代码应该怎么写

after和before怎么选?涉及到值修改的都是before after只能取值 不能修改

代码:

begin
set new.b=new.b * 7;
//这里还可以写SQL语句 需要注意的是当前表请使用上方set语句无需使用SQL语句,非当前表使用SQL语句 new.*代表当前准备写入的值 old.*代表该字段的原有值
end

是不是很简单呢?

总结 

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 深入理解mysql之left join 使用详解

    深入理解mysql之left join 使用详解

    即使你认为自己已对 MySQL 的 LEFT JOIN 理解深刻,但我敢打赌,这篇文章肯定能让你学会点东西
    2012-09-09
  • MySql下关于时间范围的between查询方式

    MySql下关于时间范围的between查询方式

    这篇文章主要介绍了MySql下关于时间范围的between查询方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • MySQL安全策略(MySQL安全注意事项)

    MySQL安全策略(MySQL安全注意事项)

    这篇文章主要介绍了MySQL安全策略(MySQL安全注意事项),需要的朋友可以参考下
    2016-05-05
  • MySQL数据库误操作后快速回滚的方法

    MySQL数据库误操作后快速回滚的方法

    这篇文章主要介绍了MySQL数据库误操作后快速回滚的方法的相关资料,需要的朋友可以参考下
    2016-12-12
  • MySQL范围查询优化的场景实例详解

    MySQL范围查询优化的场景实例详解

    范围访问方法使用单一索引去检索表中的数据包含一个或者多个索引值的行记录,下面这篇文章主要给大家介绍了关于MySQL范围查询优化的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • win10下MySQL 8.0登录Access denied for user‘root’@‘localhost’ (using password: YES)问题的解决方法

    win10下MySQL 8.0登录Access denied for user‘root’@‘localhost’ (u

    这篇文章主要介绍了win10下MySQL 8.0登录Access denied for user‘root’@‘localhost’ (using password: YES)问题的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-03-03
  • mysql 8.0.12 winx64解压版安装图文教程

    mysql 8.0.12 winx64解压版安装图文教程

    这篇文章主要为大家详细介绍了mysql 8.0.12 winx64解压版安装图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • MySQL中find_in_set()函数用法示例详解

    MySQL中find_in_set()函数用法示例详解

    find_in_set这个是mysql的一个函数,见得比较少,下面这篇文章主要给大家介绍了关于MySQL中find_in_set()函数用法的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-09-09
  • MySQL 使用索引扫描进行排序

    MySQL 使用索引扫描进行排序

    mysql可以使用同一个索引既满足排序,又用于查找行,因此,如果可能,设计索引时应该尽可能地同时满足这两种任务,这样是最好的。本文将介绍如何利用索引来进行排序
    2021-06-06
  • Mysql树形结构的数据库表设计方案

    Mysql树形结构的数据库表设计方案

    树形结构对大家来说应该都不陌生,在日常开发中经常会遇到,下面这篇文章主要给大家介绍了关于Mysql树形结构的数据库表设计的相关资料,文中通过示例代码的非常详细,需要的朋友可以参考下
    2021-09-09

最新评论