仍在添加重复行

时间:2012-01-27 01:11:53

标签: mysql

使用此方法尝试检测是否已将具有相同ID的推文添加到数据库中(如果有,则不添加)。

INSERT INTO `Tweets` (`TweetID`, `Time`, `UserName`, `UserNameID`,`RealName`, `ProfilePic`, `Tweet`)  
VALUES ('1234567890', 'Fri, 27 Jan 2012 00:29:39 +0000', 'user', '666', 'user', 'http://...' , 'tweet')
ON DUPLICATE KEY UPDATE `TweetID` = '1234567890';

但它仍然被添加。

1 个答案:

答案 0 :(得分:4)

您需要创建涵盖单个TweetID字段

的唯一索引
CREATE UNIQUE INDEX uq_tweets_tweetid ON tweets (tweetid)

就我个人而言,我建议您删除ON DUPLICATE部分,然后只使用INSERT IGNORE INTO - 只要您在复制时不需要修改任何内容