位置: 编程技术 - 正文

MySQL通过触发器解决数据库中表的行数限制详解及实例

编辑:rootadmin

推荐整理分享MySQL通过触发器解决数据库中表的行数限制详解及实例,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

MySQL通过触发器解决数据库中表的行数限制详解及实例

最近项目一个需求是对操作日志的数量限制为万条,超过十万条便删除最旧的那一条,保存数据库中日志数量不超过万。 当时我的第一想法是通过触发器来做,便在数据库中执行了如下的SQL:

看起来似乎没什么问题,对于insert前执行判断,如果数量超过就执行删除。但在真正数据库超过条,也就是开始执行IF语句的时候就出问题,MySQL报错:

查阅资料才知道,MySQL为了防止触发器递归死循环的执行,不允许在某张表的触发器中直接对该表进行DML(SELECT,DELETE,UPDATE,INSERT)操作,当然可以对其他表进行这样操作。

触发器限制的是执行对该表的DML操作。触发器可以在你的执行前后来修改要执行的这一行数据,通过set关键字。

上述语句表示在insert OpetationLog表的之前,更新insert这条数据的action字段值为test,NEW就表示新添加的这条字段,同样的OLD就表示delete时的字段。而在update的时候NEW以及OLD同时都可以使用。

临时触发器

MySQL通过触发器解决数据库中表的行数限制详解及实例

刚刚谈到的触发器(Triggers)是基于某个表所产生的事件触发的,而临时触发器也称为事件调度器是基于特定时间周期触发来执行某些任务。MySQL的事件调度器可以精确到每秒钟执行一个任务,而操作系统的计划任务(如:Linux下的CRON或Windows下的任务计划)只能精 确到每分钟执行一次。对于一些对数据实时性要求比较高的应用(例如:股票、赔率、比分等)就非常适合。

在使用这个功能之前必须确保event_scheduler已开启,可执行

或者

要查看当前是否已开启事件调度器,可执行如下SQL:

而对于本文一开始提到的问题,使用这种机制则可完美解决:

亲测有效

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

deepin 系统下安装mysql数据库的方法步骤 Deepin下载及安装Deepin的下载及安装大家可以参考下面这两篇文章,一篇为正式版的下载与安装,另外一篇文章给大家分享了deepin用U盘安装的方

mysql 搜寻附近N公里内数据的简单实例 根据圆周率和地球半径系数以及搜寻点的经纬度,搜寻数据表中与搜寻点之间的距离为N公里内的数据。1、创建测试表CREATETABLE`location`(`id`int()unsignedNOTN

mysql 查看当前使用的配置文件my.cnf的方法(推荐) my.cnf是mysql启动时加载的配置文件,一般会放在mysql的安装目录中,用户也可以放在其他目录加载。安装mysql后,系统中会有多个my.cnf文件,有些是用于

标签: MySQL通过触发器解决数据库中表的行数限制详解及实例

本文链接地址:https://www.jiuchutong.com/biancheng/349686.html 转载请保留说明!

上一篇:浅谈mysql explain中key_len的计算方法

下一篇:deepin 2014系统下安装mysql数据库的方法步骤

  • 补交印花税怎么做账
  • 递延所得税资产和负债怎么计算
  • 旧设备出口增值税处理
  • 工程物资什么时候结转到开发成本里面
  • 减免税款会计分录
  • 机票行程单丢了可以重新打吗
  • 个人到税务局开增值税专用发票
  • 固定资产公允价值减去处置费用后的净额
  • 研发折旧会计分录
  • 汽车贷款利息是什么
  • 开办费转入管理费用分录
  • 转账支票给员工转工资
  • 资产负债表越来越少了是怎么回事
  • 收到公司of
  • 外籍员工缴纳商业保险
  • 文化传媒行业会计
  • 2017年事业单位b类真题及答案
  • 购销合同的会计分录怎么写
  • 一般纳税人收到专票怎么做分录
  • 期初数据科目期初余额怎么录入?
  • 社会保险差额征税的账务处理?
  • 其他应收款社保个人部分分录
  • 一式三联的收据哪一联要盖财务章
  • 生产用厂房计入什么科目
  • 为什么可供出售的金融资产是非流动资产
  • 转出的进项税额是加还是减
  • 房产契税怎样交费
  • 质押的应收票据怎么做账
  • 资产减值损失汇算清缴需要调增嘛?
  • php面向对象是什么意思
  • 系统之家一键重装系统步骤
  • php调用图片
  • 进口增值税公式计算公式
  • linux init3
  • vue父组件引入子组件
  • 什么叫非同一控制下
  • 交完社保
  • 退休费用会计分录
  • vue调用后端接口的方法
  • 基于什么意思
  • 营改增建筑业范围
  • ChatDoctor本地部署应用的实战方案
  • es6面试题promise
  • typescript some
  • 芝麻信用app
  • 有哪些员工福利
  • dedecms怎么改图片
  • 公司开具手工发票怎么开
  • 一般纳税人公司出售旧车怎么开票
  • 应付现金股利属于什么账户
  • 增值税延期滞纳金计算
  • 流动资金包括哪些费用
  • 合并报表两种方法
  • 应交税费年末需要结转吗
  • 购入产品用作样品怎么做
  • 现金盘盈盘亏账务处理分录
  • 进口向海关缴纳消费税
  • 增值税专用发票和普通发票的区别
  • 购买生产原料的支出
  • 冲回上年度费用分录
  • 临时建筑房
  • 办公室装修费用怎么入账
  • 盘盈的固定资产按什么入账
  • 装饰公司购买的安装服务怎么入账
  • sqlserver游标的使用
  • 如何搭建一台内网服务器
  • centos7如何添加永久静态路由
  • ubuntu安装chia
  • 在pc上安装了hp网络打印机需要注意什么
  • 卸载声卡驱动有什么影响
  • jquery设置滚动条
  • Linux中scp命令获取远程文件的方法
  • android开发最全教程
  • 让ie运行js时提示允许阻止内容运行的解决方法
  • 全电子发票开具怎么扫脸认证?
  • 关联企业之间借款的税收处理
  • 增值税发票增版增量怎么办理
  • 外商投资的企业
  • 税务异常处理
  • 出口退税 即征即退属于政府补助吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设