CustID (고유하지 않음), ProdID (고유하지 않음) 및 Price 필드가있는 3 열 (모든 숫자) 테이블이 있습니다. 유일한 '고유성'은 CustID/ProdID 쌍이 복제되지 않는다는 것입니다. 따라서 모든 고객은 모든 제품에 대해 '가격'이 다릅니다. 나는 3 라인 방법을 사용하고있다. (a) 쌍이 있는지 검색하고, (b) 가격이 맞다면 (c) 가격이없는 새 쌍을 삽입하지 않으면. 이드에 대한 인덱스를 아직 만들지 않았습니다. (개발자 용으로 정상적으로 실행됩니다.)MySql 업데이트 필드 또는 기본 키가없는 경우 삽입
누구나 REPLACE 명령어를 사용하는 방법을 제안 할 수 있습니까? 대부분의 INSERT/ON DUPE 예제는 기본 키가 필요함을 암시하는 것처럼 보입니다. 나는 보통 항상 pk를 가지고 있는데,이 요구 사항에 낭비되는 것처럼 보였다. 나를 도와 줄 수있는 시간을 가진 누군가에게 많은 감사를드립니다. Ken Ashton
죄송합니다. Michael, 당신은 이미 저에게 예제를 주셨습니다. 지금 표를 고를 것입니다. 많은 감사합니다.
실제로 무결성을 유지하기 위해 성능 목적이 아닌'CustID/ProdID'에서 고유 색인을 생성해야합니다. –
'CREATE INDEX idx_unique_custprod on tblname (CustID, ProdID) ' –
아니면 더 나은 방법으로 PK로 생성하십시오 :'ALTER TABLE tblname ADM PRIMARY KEY (CustID, ProdID) ' –