두 개의 동일한 것을 서로 연결하는 조회 테이블을 갖고 싶습니다. 'Person'테이블이 있고 두 사람의 관계를 조회하고 싶다고 가정 해보십시오. 조회의 열 1은 'PersonId1'이고 열 2는 'PersonId2'이고 세 번째 열은 '관계'입니다. 관계는 두 가지 방식으로 진행되므로 PlayerId가 전환 된 상태에서 중복 레코드가 필요하지 않습니다. mysql이 어떤 순서에 관계없이 PlayerId1과 PlayerId2 조합에 고유성을 적용 할 수있는 방법이 있습니까?Mysql 복합 기본 키
의미가 있습니까?
예 그러나 PersonId1 9 것입니다 경우 PersonId2는 10 하나의 레코드에 있지만 다른 PersonId1에서는 10이고 personId2 9.에서는 동일한 관계를 재정의합니다. 나는 그것을 방지 할 수있는 방법이 있는지 궁금해하고있었습니다. – ForeverNoobie
주문하시는 경우'varchar' 데이터 타입을 가진 단일 필드를 사용하신 후'PersonId1'과'PersonId2'를 연결할 수 있습니다. 그리고 그것을 기본 키로 만드는 것을 잊지 마십시오. –
쌍으로 삽입하거나 삽입해야합니다. 그렇지 않으면 작동하지 않습니다. INSERT INTO 관계 (PersonId1, PersonId2) VALUES (9,10), (10,9)'그리고 그 쌍 중 하나 이상이 충돌하면 트랜잭션이 실패합니다. – tadman