暂无图片
MySQL只保留10天数据怎么操作?
我来答
分享
暂无图片 匿名用户
MySQL只保留10天数据怎么操作?

MySQL只保留10天数据怎么操作?

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
张sir

1、写一个shell脚本,利用crontab每天定时启动清理10天前的数据,分批提交。

2、写一个procedure,利用mysql的event做定时,清理10天谴的数据,分批提交。

以上两个方案逻辑都一样,只不过定时方式一个是利用os的crontab,一个是利用mysql自身的功能。未来如果要迁移数据库,方案1需要同步迁移,方案2自己就过去了。

暂无图片 评论
暂无图片 有用 0
打赏 0
暂无图片
哇哈哈
2022-09-29
严少安
2022-09-29
👍‍分批提交 是关键。
刘贵宾

看看这两个,一个是根据表内时间字段做删除,一个是备份保留时间

https://blog.csdn.net/wukong_666/article/details/52058671
https://juejin.cn/post/6844904184425250824

例如有以下表结构

CREATE TABLE `tableInfo` (
      `ID` int(11) NOT NULL AUTO_INCREMENT,
      `MacAddr` varchar(12) CHARACTER SET utf8 NOT NULL,
      `CreateTime` datetime NOT NULL ,
      PRIMARY KEY (`ID`)
    );
复制


1. 查询10天内的数据:
        SELECT * FROM tableInfo where TO_DAYS(NOW())-TO_DAYS(CreateTime)<10;
2. 查询大于10天的数据:
        SELECT * FROM tableInfo where TO_DAYS(NOW())-TO_DAYS(CreateTime)<10;
3. 删除10天以外的数据:
        DELETE FROM tableInfo where TO_DAYS(NOW())-TO_DAYS(CreateTime)>10;
4. 以上时间可以任意修改。
复制
暂无图片 评论
暂无图片 有用 2
打赏 0
哇哈哈
2022-09-29
回答交流
Markdown


请输入正文
提交
相关推荐
mysql单纯的显示行号@rownum := @rownum + 1已经可以实现了,然后这个带行号的查询结果我要根据条件筛选一些记录,把这些记录抽出来的时候我还要保存之前他们的行号,怎么操作?
回答 2
子查询。再套一套就可以了。selectfrom(select@rownum:@rownum1asrowno,oldrownofrom(select100oldrownounionallselect20
有没有办法把oracle库的表转换成mysql的?
回答 1
已采纳
我说两种方法:一是通过navicat等三方软件,直接做表传输,直接就给你转了;二是查看oracle的建表语句,然后改写为mysql的,然后数据通过导出为csv文件,然后在mysql中导入即可。大数据量
truncate命令可以用来删除部分数据吗
回答 4
不可以。首先要理解一个问题,truncate被归结为DDL语句,如果这么解释应该会更好理解,那就是truncate执行是删除现有表空间并创建一个新表空间,相对的表中的数据也是被删除的。
无索引自动生产的伪列db_row_id,mysql如何查到?
回答 1
据我所知,mysql无法直接查询到rowid,但是可以借助第三方工具得到,比如ibd2sql例子:pythonmain.py/data/mysql3308/mysqldata/db1/t.ibdsdi
mysql 是全球最热门的数据库,这是什么意思?使用的最多么?
回答 2
已采纳
对,是这意思。MySQL是最流行的数据库之一,是一个免费开源的关系型数据库管理系统,但也不意味着该数据库是完全免费的。MySQL由瑞典MySQLAB公司开发,目前属于Oracle公司。MySQL适合中
从代码多处同时向mysql的同一张表插入数据导致行死锁,如果暂时不改代码,有方法临时解决这个问题吗?
回答 2
做成HASH分区表
mysql5.7大家生产都用什么版本呀?建议用按个版本好
回答 4
已采纳
5.7都停服了,新的还是上8.0吧,别用最新,用次新。
MYSQL的主从延迟,你怎么解决?
回答 1
已采纳
主从复制分了五个步骤进行:步骤一:主库的更新事件(update、insert、delete)被写到binlog步骤二:从库发起连接,连接到主库。步骤三:此时主库创建一个binlogdumpthread
数据库技术论坛
回答 6
51CTO
mysql如果要在整张表里面查询数据怎么操作?
回答 1
已采纳
方法1,拼个动态sql,where字段2‘2014’or字段3‘2014’…方法2,写个存储过程,用字段名作为游标,循环拼动态sql并执行查询,如果查询有记录就输出对应的字段及条件方法3,把所有字段拼