하나의 MySQL 테이블에서 다른 테이블로 데이터를 가져와야합니다. 이전 테이블에는 다른 구식 구조가 있습니다 (이는별로 관련이 없습니다). 즉, 이전 레코드의 중복 가져 오기를 방지하기 위해 이전 테이블의 원래 ID를 저장하는 "imported_id"라는 새 테이블에 필드를 추가합니다.키가 아닌 열을 기반으로 중복 행 삽입을 완화하려면 어떻게합니까?
지금 제 질문은 실제로 중복을 어떻게 방지합니까? 새 시스템이 구형 시스템과 병렬로 실행되기 때문에 가져 오기는 불행하게도 두 번 이상 실행해야합니다. "import_id"필드 PK/UNIQUE는 이전 테이블에서 오지 않은 필드에 대해 null 값을 가지므로 새 필드를 추가 할 때 오류가 발생하므로이 필드를 만들 수 없습니다. 기본적으로 제약 조건이없는 임의의 열에 대해 즉석에서 INSERT IGNORE 유형을 사용하는 방법이 있습니까?
이 문제에 대해 더 많이 생각하면할수록 초기 SELECT에서 처리해야한다고 생각합니다. 그러나, 나는 이것을 일반적으로 다루는 품질 메커니즘에 관심이있다.
최고.
이유가 무엇이든, 나는 당신이 NULL 고유 필드를 가질 수 없다는 인상하에있었습니다. 게시물 주셔서 감사합니다. –