@jiji20

Как заполнить таблицу в MySQL через файл?

Пытаюсь заполнить таблицу данными из текстового файла.

mysql> load data infile 'C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/routes.txt' into table route;
' for column 'id' at row 1ect integer value: ' Israel 4000 10000 3000 Treatment


В чем причина? id у меня auto-increment, пробовала и NULL, и 0, и просто цифрами заполнять - ни в какую. Есть толковые люди, которые смогут объяснить?
  • Вопрос задан
  • 145 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Akina
Сетевой и системный админ, SQL-программист.
Изучите внимательно документацию по LOAD DATA.

Во-первых, необходимо правильно указывать опции парсинга - разделитель, терминатор, квотирование и пр.

Во-вторых, хорошим тоном считается указывать не только таблицу назначения, но и конкретные поля. А если импортируемый файл содержит данные не для всех полей, или порядок полей в файле и таблице не совпадает, то указание полей становится просто-таки обязательным и необходимым.

В третьих, если данные не могут импортироваться напрямую, или если в процессе импорта необходима какая-то обработка импортируемых данных (например, корректировка формата даты), то следует использовать ещё Input Preprocessing - обработку данных между чтением из файла и записью в таблицу.

id у меня auto-increment, пробовала и NULL, и 0, и просто цифрами заполнять - ни в какую.

Пункт "во-вторых" в полный рост.

Ну и любопытно, где именно Вы пробовали и NULL, и 0, и просто цифрами заполнять - в показанном Вами запросе под это просто нет места.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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