Задача
Столбцы файла расположены не в том же порядке, что столбцы таблицы, в которую вы его загружаете.
Решение
Укажите предложению LOAD DATA, как совместить столбцы файла и таблицы, определив их взаимное соответствие.
Обсуждение
По умолчанию LOAD DATA считает, что столбцы файла и таблицы упорядочены одинаково. Если это не так, вы можете задать список, определяющий, в какой столбец таблицы должен быть загружен каждый столбец файла. Предположим, в таблице есть столбцы a, b и c, но в файле они располагаются в порядке b, c и a. Тогда файл можно загрузить так:
mysql> LOAD DATA LOCAL INFILE 'mytbl.txt' INTO TABLE mytbl (b, c, a);
В соответствующей команде mysqlimport для задания списка столбцов используется опция --columns:
% mysqlimport --local --columns=b,c,a cookbook mytbl.txt
Опция --columns в mysqlimport появилась в MySQL версии 3.23.17. Если у вас более старая версия, используйте предложение LOAD DATA или предварительно упорядочивайте столбцы в файле в соответствии с их расположением в таблице.