2012-02-28 3 views
1

주 ID가 6 개인 필드가 있고 auto_increment로 설정됩니다. DATE 및 FROM이과 일치하지 않으면 새 행을 삽입하려고합니다. 내가 REPLACE INTO 또는 ON DUPLICATE KEY UPDATE을 생각하고 있었지만, 내가 알고있는 것에서 나는 그 중 하나를 나의 초등 회라고 생각해야합니까? 그 일을 어떻게 처리 할 수 ​​있을지 궁금합니다.두 필드가 일치하지 않는 경우에만 MySQL INSERT

+0

DATE 및 FROM 같은 소리는 보조 키입니다. 어떤 경우에는 서버 측 코드를 사용하여이를 처리 할 수 ​​있습니다. 보조 키는 모든 FROM 및 DATE 조합이 고유하도록합니다. – Zoidberg

답변

4

필요한 것은 DATE 및 FROM 필드로 구성된 고유 색인입니다.

ALTER TABLE table ADD UNIQUE INDEX(DATE, FROM);

그럼 당신은 이러한 유형의 쿼리 사용할 수 있습니다

INSERT IGNORE INTO table (columns) VALUES (...)

을 달리 중복 키 오류가 발생합니다 모든 INSERT를 건너 뜁니다 문을 무시합니다.

관련 문제