ОШИБКА 1083 (42000) в строке 1: Аргумент разделителя полей не соответствует ожидаемому при использовании mysql LOAD

0

Я пытаюсь использовать загрузку mysql через приглашение оболочки. Я хочу загрузить CSV файл непосредственно в базу данных.

mysql -u root -p -h mysql -e "LOAD DATA INFILE 'Subscriber.csv' INTO TABLE temp_data FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n'IGNORE 1 ROWS" psi

Я получаю сообщение об ошибке ERROR 1083 (42000) at line 1: Field separator argument is not what is expected

Ниже мой CSV файл

misdn,city,age,gender 771001244,MUTOKO,24,MALE 771001286,MUTOKO,32,MALE 771001334,MUTOKO,37,Male 771001384,MUTOKO,36,MALE 771001399,MUTOKO,25,Male 771002873,HWEDZA,26,MALE 771006412,HWEDZA,33,MALE 771008125,MUTOKO,26,MALE 771008127,HWEDZA,34,MALE 771008142,HWEDZA,34,MALE 771013473,MUTOKO,21,MALE 771016262,MUTOKO,22,MALE 771016360,MUTOKO,30,MALE 771016701,MUTOKO,28,Male 771017619,MUTOKO,33,Male 771017822,MUTOKO,23,Male 771019268,ZVISHAVANE,31,Male 771024685,ZVISHAVANE,39,MALE

Пожалуйста, помогите, что я делаю неправильно?

  • 0
    Пожалуйста, включите первые 2-3 строки Subscriber.csv .
  • 0
    Привет, я отредактировал свой вопрос и добавил файл CSV
Показать ещё 1 комментарий
Теги:

1 ответ

1
Лучший ответ

Вы использовали ENCLOSED BY '"', но ваши поля вообще не содержат двойных кавычек. Я думаю, вы должны использовать OPTIONALLY ENCLOSED BY '"'. Попробуйте эту версию:

mysql -u root -p -h mysql -e "LOAD DATA INFILE 'Subscriber.csv'
    INTO TABLE temp_data
    FIELDS TERMINATED BY ','
    OPTIONALLY ENCLOSED BY '"'
    LINES TERMINATED BY '\n'IGNORE 1 ROWS" psi

Или, если вы уверены, что никакие поля никогда не будут иметь двойные кавычки, вы можете полностью удалить предложение ENCLOSED BY.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню