Попытка выполнить LOAD DATA INFILE с REPLACE и AUTO_INCREMENT

Я пытаюсь загрузить файл в базу данных MySQL с автоинкрементным первичным ключом, и я хочу, чтобы данные обновлялись, если я нахожу какие-либо повторяющиеся строки. Однако ключевые слова REPLACE работают только с первичным ключом, который генерируется автоматически, поэтому я застрял.

как получить таблицу с автоматически увеличивающимся ID и в то же время иметь возможность вставлять/обновлять данные из файла с помощью LOAD DATA INFILE?

Вот таблица

CREATE TABLE  `oxygen_domain`.`TEST` (
`TEST_ID` int(11) NOT NULL AUTO_INCREMENT,
`NAME` varchar(255) NOT NULL,
`VALUE` varchar(255) DEFAULT NULL,
PRIMARY KEY (`TEST_ID`,`NAME`,`VALUE`)
) 

и вот команда

LOAD DATA LOCAL INFILE 'C:/testData.txt'
REPLACE
INTO TABLE TEST
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES
(NAME, VALUE);

и вот образец данных

ignored name, ignored value
name1,value1
name2,value2
name3,value3

Требуемый конечный результат после выполнения вышеуказанной команды несколько раз с указанными выше данными

|TEST_ID |NAME |VALUE|
1, 'name1', 'value1'
2, 'name2', 'value2'
3, 'name3', 'value3'
16
задан RolandoMySQLDBA 10 September 2014 в 17:35
поделиться