【问题标题】:Migrate data in mysql from old schema to new schema将mysql中的数据从旧模式迁移到新模式
【发布时间】:2011-01-24 04:26:17
【问题描述】:

我们最近改进了生产数据库的架构,更改了列名和索引等。我们还将存储引擎更改为 InnoDB 以利用事务和外键。

将数据从旧架构导入新架构的最佳方法是什么?请记住,列名已更改(包括主键)。

【问题讨论】:

    标签: mysql schema migrate


    【解决方案1】:
    1. 就像您更改了列名一样,您可以创建文件并导入。

      SELECT * FROM old-table INTO OUTFILE '/path/to/filename.txt' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'  LINES TERMINATED BY '\n'
      

      然后你就可以加载数据了:

      LOAD DATA INFILE '/path/to/filename.txt' INTO TABLE new-table FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'  LINES TERMINATED BY '\n';
      

      参考文献:

    2. 否则,如果可能,只要列数相同,以下将完成这项工作:

      insert into new-table select * from old-table;

      如果列数不同,则:

      插入新表 select col1,col2,... from old-table;

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-22
      • 1970-01-01
      • 1970-01-01
      • 2011-04-07
      • 2021-12-29
      • 1970-01-01
      • 2017-08-19
      • 2016-01-30
      相关资源
      最近更新 更多