mysql – 将TableA中的行移动到Table-Archive中
是否有可能在一周内自动将3天之前的行移动到另一个名为“Table_Archive”的表中? tableA ex:
搬家后 表A:
Table_Archive:
当新输入进入tableA时,下一步中ID(PK)不会出现任何问题吗? 我得到了什么:
如何将_now更改为3天前的日期? 最佳答案 就个人而言,我会使用MySQL Event Scheduler.这是一个内置的事件调度程序,而不像Linux中的CRON. 您可以指定它来调用过程,过程或函数,或者以指定的时间间隔运行一些SQL. 阅读MySQL文档,但一个例子是:
所以这就是说“每周一次打电话给clean_tables(),并在10分钟内拨打第一个电话” 一个问题是,事件调度程序(我认为)默认是禁用的.要打开它:
然后你可以运行:
查看事件调度程序线程是否正在运行. 至于保留表A ID列(如果必须).我会将Table_Archive上的ID保持为该表的唯一ID,即使其成为主键& auto_increment然后有一个’Original_TableA_ID’列,用于存储TableA ID.如果需要,您可以在此处添加唯一索引. 所以Table_Archive就像:
似乎没有人回答你原来的问题“我如何改变_现在是3天前的日期?”.你使用INTERVAL做到这一点:
最后一点是,您应该考虑在TableA上的timestamp列上创建索引,以提高clean_tables()过程的性能. (编辑:甘南站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- php – 在yii2中使用限制范围?
- 如何在MySQL 5.5中的存储过程中获取异常消息
- php – 来自mysqli_Query的回声结果
- php – mysql – 在分页中查找结果记录页面
- 使用php解析XML数据放入mysql数据库
- mysql – 从SHOW ERRORS查询中选择特定列
- java.sql.SQLException:用户’root @ localhost’@’local
- Want to archive tables? Use Percona Toolkit’s pt-archi
- mysql – GROUP_CONCAT更改GROUP BY顺序
- mysql – Eclipse – 如何添加新的MariaDB连接