我正在使用 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]'
在这两种情况下,如果新旧记录中的数据相同但顺序不同,则插入。如果数据相同,我希望它会更新。我希望我的表设置不正确,但看不出问题出在哪里。谁能告诉我为什么数据匹配时它不更新?