我正在使用php将文件加载到表中。我创建了一个这样的表:
CREATE TABLE IF NOT EXISTS $table (
`id` INT AUTO_INCREMENT PRIMARY KEY,
`order` INT DEFAULT 0,
`data` VARCHAR(200) UNIQUE,
`cur_timestamp` TIMESTAMP DEFAULT NOW())";
从这样的文本文件中填写:
LOAD DATA LOCAL
INFILE '".$file ."' REPLACE
INTO TABLE $table
FIELDS TERMINATED BY '^'
(`order`,`data`)";
即使我使用REPLACE并且数据是UNIQUE,它也会创建重复记录,除非记录中的订单和数据都相同。有人可以建议我哪里出错吗?我只希望它根据与数据的匹配来替换记录。我一遍又一遍地阅读文档,这对我来说是正确的。
答案 0 :(得分:0)
我认为制作数据KEY会做到这一点,但如果订单不同,它仍会插入
CREATE TABLE IF NOT EXISTS $table (
`id` INT AUTO_INCREMENT KEY,
`order` INT DEFAULT 0,
`data` VARCHAR(200) UNIQUE KEY,
`cur_timestamp` TIMESTAMP DEFAULT NOW())";