2012-01-27 15 views
0

同じIDを持つツイートが既にDBに追加されているかどうか試してみましょう。重複した行がまだ追加されています

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'; 

しかし、まだ追加されています。

答えて

4

あなたは、単一のカバー一意のインデックスを作成する必要がTweetID個人的に

CREATE UNIQUE INDEX uq_tweets_tweetid ON tweets (tweetid) 

私はON DUPLICATE一部を削除し、だけではなく、INSERT IGNORE INTOを使用するためにあなたをお勧めします

フィールド - あなたが何を必要としない限りは変更されます複製の場合

+0

私は 'CREATE UNIQUE INDEX'をどこに置くのですか?すべてのインサートに使用されますか?私は「INSERT IGNORE INTO」を働かせることはできません。 – daidai

+0

@daidai: 'create index'はちょうど1回だけする必要があります。別のクエリです。PMAで実行します。それはインデックスを作成し、その後すべてが動作します – zerkms

+0

それは、多くの感謝のzerkmsを得ました – daidai

関連する問題