Номер базы данных MySQL LOAD DATA INFILE

Я использую MySQL LOAD DATA INFILE для перемещения данных файла CSV в таблицу базы данных. Я ищу способ ссылки на исходный номер строки строки (строки) в импортированной записи.

Чтобы таблица выглядела так:

CREATE TABLE tableName ( uniqueId INT UNSIGNED NOT NULL PRIMARY_KEY, import_file VARCHAR(100), import_line INT, import_date = DATETIME, fieldA VARCHAR(100), fieldB VARCHAR(100), fieldC VARCHAR(100) ); 

Где import_file, import_line и данные импорта – это метаданные, относящиеся к конкретному импорту файла. fieldA, fieldB и fieldC представляют фактические данные в файле.

Был бы обновлен следующим запросом:

 LOAD DATA INFILE '$file' REPLACE INTO TABLE '$tableName' FIELDS TERMINATED BY ',' ENCLOSED BY '\"' LINES TERMINATES BY '\n' IGNORE 1 LINES # first row is column headers (fieldA,fieldB,fieldC) SET import_date = now(), import_file = '" . addslashes($file) . "', import_line = '???'; А LOAD DATA INFILE '$file' REPLACE INTO TABLE '$tableName' FIELDS TERMINATED BY ',' ENCLOSED BY '\"' LINES TERMINATES BY '\n' IGNORE 1 LINES # first row is column headers (fieldA,fieldB,fieldC) SET import_date = now(), import_file = '" . addslashes($file) . "', import_line = '???'; 

Есть ли переменная, с которой я могу установить 'import_line'?

Благодаря,

Это можно сделать, предварительно установив пользовательскую переменную и увеличив эту переменную в предложении SET, т. Е.

 SET @a:=0; -- initialize the line count LOAD DATA INFILE 'c:/tools/import.csv' -- my test import REPLACE INTO TABLE tableName FIELDS TERMINATED BY ',' ENCLOSED BY '\"' LINES TERMINATED BY '\n' IGNORE 1 LINES # first row is column headers (fieldA,fieldB,fieldC) SET import_date = now(), import_file = 'import.csv', import_line = @a:=@a+1; -- save the incremented line count А SET @a:=0; -- initialize the line count LOAD DATA INFILE 'c:/tools/import.csv' -- my test import REPLACE INTO TABLE tableName FIELDS TERMINATED BY ',' ENCLOSED BY '\"' LINES TERMINATED BY '\n' IGNORE 1 LINES # first row is column headers (fieldA,fieldB,fieldC) SET import_date = now(), import_file = 'import.csv', import_line = @a:=@a+1; -- save the incremented line count