MySQL LOAD DATA INFILE - загрузка файла без первичного ключа
Я пытался загрузить файл данных в таблицу mysql, используя имя файла LOAD DATA LOCAL INFILE 'INTO TABLE' tablename '.
Проблема заключается в том, что файл исходных данных содержит данные каждого поля, но первичный ключ отсутствует (столбец "id" ). Я должен добавить уникальный идентификатор в каждую строку исходного файла данных, иначе импорт не пройдет.
Есть ли возможность игнорировать первичный ключ в исходном файле или автоматически увеличивать его во время импорта?
Он уже настроен на первичный ключ с автоматическим приращением.
mysql> desc tablename;
+--------------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
...
Ответы
Ответ 1
Почему бы не загрузиться в таблицу с первичным ключом автоматического увеличения?
create table MyTable (
id integer auto_increment primary key,
...
)
Вы можете указать столбцы, которые будут импортированы после имени таблицы:
LOAD DATA INFILE 'filename' INTO TABLE tablename (col1,col2,...);
Если вы не укажете столбец id, MySQL не будет читать его из файла.