Импорт MySQL данные CSV - игнорирует некоторые csv столбцы

У меня есть несколько файлов CSV, которые я хочу загрузить в свою базу данных, но файл CSV содержит еще много столбцов, чем в моей базе данных. Как я импортирую только выбранные столбцы из файла CSV в мою базу данных?

Для пользы аргументов скажем, CSV содержит строку заголовка с заголовками столбцов от A до Z и затем два миллиона строк со значениями для столбцов A to Z. Скажем, моя таблица myTest содержит B, N и S, таким образом, я только хочу импортировать столбец B, N и S из файла CSV в myTest.

Я планировал сделать:

mysqlimport --local --columns=B,N,S --ignore-lines=1 --delete --default-character-set=latin1 --fields-optionally-enclosed-by=\" --fields-terminated-by=\, --lines-terminated-by=\r\n myDb myTest.csv

Но это заполняет строку B, N и S со значениями столбца A, B и C, не со значениями столбца B, N и S как, я хотел.

Какие-либо предложения, как я могу заставить его импортировать только B, N и S?

9
задан Matt Ball 23 June 2014 в 23:32
поделиться

1 ответ

Вам необходимо изменить - columns = B, N, S и добавить параметры, чтобы пропустить все столбцы, которые вам не нужны.

Например, чтобы использовать 1-й, 4-й и 7-й столбцы, используйте:

--columns=B,@x,@x,N,@x,@x,S

Это отправит 2-й, 3-й, 5-й и 6-й столбцы в параметр @x.

Ссылка: http://dev.mysql.com/doc/refman/5.1/en/mysqlimport.html

15
ответ дан 4 December 2019 в 13:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: