Перенос данных в mysql из старой схемы в новую схему

Недавно мы улучшили схему нашей производственной базы данных, изменив имена столбцов и индексы и т. д. Мы также изменили механизм хранения на InnoDB, чтобы использовать транзакции и внешние ключи.

Как лучше всего импортировать данные из старой схемы в новую? Имейте в виду, что имена столбцов изменились (включая первичные ключи).


person Community    schedule 05.03.2010    source источник


Ответы (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. В противном случае, если возможно, следующее задание будет выполнено, если количество столбцов одинаково:

    вставить в новую таблицу select * from old-table;

    Если количество столбцов не совпадает, то:

    вставить в новую таблицу выбрать col1, col2,... из старой таблицы;

person kv.    schedule 05.03.2010