Я загружаю файлы в таблицу с помощью php. Я создаю таблицу, как это:
CREATE TABLE IF NOT EXISTS $table (
`id` INT AUTO_INCREMENT PRIMARY KEY,
`order` INT DEFAULT 0,
`data` VARCHAR(200) UNIQUE KEY,
`cur_timestamp` TIMESTAMP DEFAULT NOW())"
И заполните его из текстового файла следующим образом:
LOAD DATA LOCAL
INFILE '".$file ."'
REPLACE INTO TABLE $table
FIELDS TERMINATED BY '^'
(`order`,`data`)"
Я также попытался прочитать файл в массив и просто использовать INSERT .. ON DUPLICATE KEY
INSERT INTO $table (`order`,`data`)
VALUES ($parts[0],'$parts[1]')
ON DUPLICATE KEY UPDATE `order` = '$parts[0]'
В обоих случаях, если данные совпадают в новой и старой записи, но порядок отличается, они ВСТАВЛЯЮТ. Я ожидаю ОБНОВЛЕНИЕ, если данные одинаковы. Я ожидаю, что мои таблицы не настроены должным образом, но не вижу, в чем проблема. Может кто-нибудь сказать мне, почему он не обновляется, когда данные совпадают?