development

중복 키를 무시 하시겠습니까?

big-blog 2020. 6. 11. 07:46
반응형

중복 키를 무시 하시겠습니까? [복제]


이 질문에는 이미 답변이 있습니다.

이 쿼리를 끝내려고합니다. 내 태그 필드가 UNIQUE로 설정되어 있고 데이터베이스에서 중복 태그를 무시하기를 원합니다.

INSERT INTO table_tags (tag) VALUES ('tag_a'),('tab_b'),('tag_c')
ON DUPLICATE KEY IGNORE '*the offending tag and carry on*'

또는 이것도 받아 들일 수 있습니다

INSERT INTO table_tags (tag) VALUES ('tag_a'),('tab_b'),('tag_c')
ON DUPLICATE KEY UPDATE '*the offending tag and carry on*'

모든 오류를 무시하기 때문에 INSERT IGNORE를 사용하지 않는 것이 좋습니다 (즉, 느슨한 전역 무시). 대신, 귀하의 예 tag에서 고유 키가 있으므로 다음을 사용하십시오.

INSERT INTO table_tags (tag) VALUES ('tag_a'),('tab_b'),('tag_c') ON DUPLICATE KEY UPDATE tag=tag;

중복 키에서 다음을 생성합니다.

쿼리 OK, 영향을받는 0 개의 행 (0.07 초)


MySQL에는이 편리한 UPDATE INTO 명령이 있습니다.)

편집 이름이 REPLACE로 변경된 것 같습니다.

REPLACE는 테이블의 이전 행이 PRIMARY KEY 또는 UNIQUE 인덱스의 새 행과 동일한 값을 갖는 경우 새 행이 삽입되기 전에 이전 행이 삭제된다는 점을 제외하고는 INSERT와 똑같이 작동합니다.

참고 URL : https://stackoverflow.com/questions/2366813/on-duplicate-key-ignore

반응형