LOAD DATA LOCAL INFILe: загрузка синтаксиса автоматического ввода текстового файла формы данных
Я пытаюсь загрузить данные из файла.txt в MySQL. Таблица выглядит так:
+-------------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+------------------+------+-----+---------+----------------+
| user_name | varchar(10) | NO | MUL | NULL | |
| user_id | int(10) unsigned | NO | PRI | NULL | auto_increment |
| listings | int(10) unsigned | NO | | 0 | |
| connections | int(10) unsigned | NO | | 0 | |
| flags | int(10) unsigned | NO | | 0 | |
| days | int(10) unsigned | NO | | 0 | |
| email | varchar(30) | NO | | NULL | |
| suspend | tinyint(1) | YES | | 0 | |
+-------------+------------------+------+-----+---------+----------------+
когда я загружаю данные, используя LOAD DATA LOCAL INFILE
как мне справиться с user_id
столбец? Все остальные элементы уже имеют данные. Я хотел бы, чтобы база данных присваивала user_id. Это возможно?
Что должно столбец под user_id
как выглядит в текстовом файле?
2 ответа
Решение
Я использовал следующее:
name \N 2 4 2 100 emal@mail.com o
Каждой записи автоматически присваивается правильный идентификатор вместо \N.
Если есть лучший способ, пожалуйста, дайте мне знать.
"Вы также можете отбросить входное значение, присвоив его пользовательской переменной, а не присвоив переменную столбцу таблицы".
Пример:
LOAD DATA LOCAL INFILE 'file.txt' INTO TABLE tablename (user_name, @skip, listings, connections, flags, days, email, suspend);