자동 증분 기본 키와 고유 한 문자열 값 키 (sha-1 해시)가 모두있는 테이블이있는 mysql 데이터베이스가 있습니다.MYSQL : 중복 고유 키가있는 레코드를 삽입 할 때 기존 기본 키 가져 오기?
기존 레코드와 동일한 sha-1 해시를 가진 레코드를 추가하려고하면 기존 레코드의 기본 키를 가져 오려고합니다. 기존 해시 값이있는 레코드를 삽입 할 때 예외를 방지하기 위해 "INSERT ... DUPLICATE KEY UPDATE"또는 "INSERT IGNORE"와 같은 것을 사용할 수 있습니다.
그러나 그런 상황이 발생하면 기존 레코드의 기본 키를 검색해야합니다. 단일 SQL 문을 사용하여이를 수행 할 수있는 방법을 찾을 수 없습니다. 중요하다면, 제 코드가 Java이고 JDBC를 사용하고 있습니다.
또는 두 개의 명령문 (결과가없는 경우 삽입 또는 중복 키가있는 경우 삽입)을 사용하여 수행 할 수 있습니다. 그러나 나는 하나의 문장이 더 효율적일 것이라고 생각한다.
기존 레코드의 기본 키 "? – Stephan
한 문장으로는 그럴 수 없습니다. –