从表中删除旧记录并将这些记录备份到新备份表中的日期之前

时间:2021-06-25 07:18:41

标签: jquery mysql

我有一个 MYSQL 表,需要将 2021 年 1 月 1 日之前的旧记录备份到新的备份表。并从原始表中删除 2021 年 1 月 1 日之前的旧记录。原始表有一个 created_on 列来过滤日期。我该怎么做这个操作?

1 个答案:

答案 0 :(得分:1)

可能更快的方法是:

  1. 创建一个新表:
CREATE TABLE new_table LIKE original_table;
  1. 将 2021 年 1 月 1 日的数据插入到新表中。根据数据,这可能比将旧数据插入新表快得多。仅仅因为如果旧数据来自 2001 年,想象一下它与 2021 年半年的数据相比有多少行:
INSERT INTO new_table SELECT * FROM original_table WHERE created_on >= '2021-01-01';
  1. 重命名旧表和新表:
RENAME TABLE original_table TO old_table1;
RENAME TABLE new_table TO original_table;
  1. 检查新表中是否存在所有年份 2021 数据。确认后,您可以继续从旧表中删除 2021 数据或将其保留在那里;这取决于你。
相关问题