位置: 编程技术 - 正文

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数据库的方法步骤

  • 外商投资合伙企业法
  • 非税收入专用申报表
  • 报账员是会计还是出纳
  • 预提佣金会计分录是什么
  • 机动车销售发票是否需要认证
  • 债务重组损益的计算公式
  • 安全费用中的固定资产如何写会计分录?
  • 跨年的发票作废账务如何处理
  • 无形资产出租后还要摊销吗
  • 餐饮刷卡机手续费多少
  • 商业汇票的样本
  • 企业期货投资收益何时记账的
  • 资本公积与实收资本和盈余公积有什么区别?
  • 个人公司转让协议怎么写
  • 转让五年以上住房免征个人所得税吗?
  • 应交增值税减免税额期末需要结转吗
  • 个人申请税务局开技术服务发票如何收费
  • 餐饮消费,碰到商家不愿意开发票怎么办?
  • 开给客户的发票对方已认证
  • 天猫店不开发票会被扣多少分
  • 企业所得税零申报资产总额怎么填
  • 亏损合同如何处理
  • 建筑业预缴税款怎么退税
  • 股权收购特殊性税务处理案例
  • 员工有多处收入怎么申报个人所得税
  • 配件进出库账目怎么做
  • 国家信用信息公司系公示
  • 宽带调制解调器出现问题怎么解决
  • 增值税中进项税额比对异常能作废申报吗
  • silent.exe - silent是什么进程 有什么用
  • 进程core
  • 增值税普通发票和专用发票有什么区别
  • 增值税常见账务处理方法
  • rcnn系列详解
  • php 遍历字符串
  • Laravel5.1自定义500错误页面示例
  • 应收账款坏账准备计算表
  • 二手固定资产怎么折旧
  • 开票一定要确认发票吗
  • 法人治理结构是指明确
  • 低值易耗品如何界定
  • 成本费用率和成本费用利润率的区别
  • 原材料盘盈会计处理
  • 调转会计证需要什么资料
  • 税务现金流量表填错了怎么办
  • sql2005服务无法启动sql安装方法
  • 应收预收应付预付科目怎么合并
  • 减免税款属于政府补助利得吗
  • 开办费计入什么科盿
  • 关于赠品的财务处理
  • 工会经费计算公式的例子
  • 票已收到、款未付会计分录
  • 企业所得税退税怎么操作
  • 采购自产自销的商品
  • mac系统操作教程
  • win10系统环境设置
  • win8怎么进系统
  • linux如何安装rz和sz
  • 半自动化系统
  • linux允许ping
  • win10正版授权图标
  • win7使用技巧
  • win10如何不升级系统
  • win10系统日历设置
  • win7如何卸载打印机驱动程序
  • django 不同app间model引用
  • python爬虫入门教程非常详细
  • shell 1
  • 深入探讨换个说法怎么说
  • pythonipo模型
  • 如何利用python写爬虫
  • jquery detach
  • 安卓手机管家删除的照片怎么恢复
  • jquery选择器有哪些
  • 税务局投诉怎么投诉
  • 如何开具分包发票流程
  • 单位发的一次性奖励如何扣税
  • 湖北职称网上申请流程
  • 住宅区地下车位产权归属
  • 公司零申报可以交社保吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设