다음과 같은 문제가 있습니다. id
, track_id
, artist_id
및 title
과 같은 열이있는 테이블이 있습니다. 유일한 유일한 키는 기본 키, id
이며 자동 증가 int입니다. track_id
은 고유하지 않습니다.INSERT ... ON DUPLICATE KEY - 비 기본 키에서이를 수행하는 방법?
track_id
이있는 레코드에 대해 title
을 업데이트해야하는 상황이 발생합니다. 그러한 레코드가 없으면 새로 작성해야합니다. REPLACE INTO 또는 INSERT ...를 사용할 수 없습니다. 중복 키는 고유 키 또는 기본 키로 작동하기 때문에 삽입하십시오. 또한 여러 쿼리를 사용할 수 없기 때문에 이러한 유형의 작업이 단일 쿼리에서 완료되어야합니다. 이 쿼리는 필요한만큼 복잡 할 수 있지만 모두 하나의 쿼리에 있어야합니다.
어떻게이 작업을 수행 할 수 있습니까?
왜 트랜잭션과 여러 쿼리를 사용하지 않는가? (당신이'MyISAM'을 사용하지 않는다면) – JamesHalsall
이것들이 수행 할 시스템은 질의에 래퍼를 노출합니다. 이러한 래퍼는 단일 쿼리 만 래핑 할 수 있으며 래퍼 호출을 함께 연결하는 것은 옵션이 아닙니다. – kmarks2
내 좋은 친구 네가 이걸 가지고 튀긴 것 같아. – Sebas