Visual Studio 용 SQL Server를 사용하고 있습니다. 나는 두 개의 컬럼을 가지고 있는데, 1은 자동으로 증가하고 다른 하나는 그렇지 않다. 그러나 기본 키와 비 증가 키를 다른 테이블의 외래 키로 사용할 수 있도록하고 싶다. 감사합니다SQL 복합 기본 키
-1
A
답변
3
TomTom이 말했듯이, 당신이하려는 것은 의미가 없습니다. 두 번째 열 (증가되지 않은 열)이 이미 고유 한 경우 자동 증가 열이 중복되거나 쓸모 없기 때문에 삭제할 수 있습니다.
중복성은 하나의 단일 키에 집계 된 2 개의 고유 한 열이 열 자체의 고유성을 손상시킬뿐만 아니라 동일한 값을 설명하는 2 개의 다른 열을 사용한다는 사실 때문에 발생합니다!
id | col | some_data
-------------------------------
1 | A |
2 | B |
3 | D |
당신이 볼 수 있듯이 내가 특정 행을 가리 키도록하려는 경우, 당신은 설명하고이 경우에, 난 그냥 ID 또는 COL 열을 사용할 수 있으며 둘 다 유효합니다!
unincremented 열이 고유하지 않은 경우 기본 키는 자동 증가 열이어야하며이 테이블은 다른 테이블의 외래 키로 사용해야합니다.
마지막 옵션은 두 개의 별개 열을 실제로 갖고 싶은 경우 첫 번째 열을 자동 증가 열로 설정하지 않는 것입니다.
일반적으로 자동 증가 열은 항상 단일 열 키로 사용해야합니다.
설명대로 말하면 별 의미가 없습니다. – TomTom
* 복합 * 키를 원하십니까? 아니면 * 별개 * 키를 원하십니까? –