2012-01-27 2 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'는 단지 한 번만하면됩니다. PMA에서 수행하는 별도의 쿼리입니다. 그것은 색인을 생성하고 그 후에 모든 것이 작동합니다 – zerkms

+0

알았어요, 고마워요. – daidai

관련 문제