Неправильно при импорте с помощью LOADTABLE INFILE, просто создайте столбец с автоинкрементом в качестве столбца / поля LAST ... В качестве его анализа, если ваша таблица определена с 30 столбцами, но в текстовом файле есть только 1 (или что-то меньшее), он будет импортировать первые столбцы первым, в прямой последовательности, поэтому убедитесь, что ваш разделитель с ... правильно между полями (для любого будущего импорта). Опять же, поместите автоинкремент ПОСЛЕ количества импортируемых столбцов.
create table YourMySQLTable
( FullName varchar(30) not null ,
SomeOtherFlds varchar(20) not null,
IDKey int not null AUTO_INCREMENT,
Primary KEY (IDKey)
);
Обратите внимание, что IDKey - это автоинкремент в последнем поле таблицы ... независимо от вашего текстового файла потока INPUT, который может иметь меньше столбцов, чем ваша финальная таблица на самом деле.
Затем импортируйте данные через ...
LOAD DATA
INFILE `C:\SomePath\WhereTextFileIs\ActualFile.txt`
INTO TABLE YourMySQLTable
COLUMNS TERMINATED BY `","`
LINES TERMINATED BY `\r\n` ;
Приведенный выше пример основан на разделенном запятыми списке с кавычками вокруг каждого поля, например
"Myfield1", "anotherField", "LastField". Кроме того, прекращается то, что типичные текстовые файлы разделены на строку
В примере вашего текстового файла с полным именем в виде одного столбца все данные будут загружены в «YourMySQLTable» в столбец FullName. Поскольку IDKey находится в конце списка, он все равно будет автоматически увеличивать назначенные значения от 1 до? и не должно конфликтовать со столбцами входящего текста.