기본 키 만들기
- 2017 년 3 월 14 일
- 읽는 데 2 분
-
- s
- M
- M
- W
- C
-
+7
적용 대상 : SQL Server 2016 (13.x) 이상 Azure SQL Database Azure SQL Managed Instance
SQL을 사용하여 SQL Server에서 기본 키를 정의 할 수 있습니다. Server Management Studio 또는 Transact-SQL. 기본 키를 생성하면 해당하는 고유 클러스터형 인덱스 또는 비 클러스터형 인덱스가 자동으로 생성됩니다.
시작하기 전에
제한 사항 및 제한 사항
-
테이블에는 PRIMARY KEY 제약 조건이 하나만 포함될 수 있습니다.
-
PRIMARY KEY 제약 조건 내에 정의 된 모든 열은 NOT NULL로 정의되어야합니다. Null 허용 여부를 지정하지 않으면 PRIMARY KEY 제약 조건에 참여하는 모든 열의 Null 허용 여부가 NOT NULL로 설정됩니다.
보안
권한
기본 키로 새 테이블을 생성하려면 데이터베이스에 대한 CREATE TABLE 권한과 테이블이 생성되는 스키마에 대한 ALTER 권한이 필요합니다.
기존 테이블에서 기본 키를 생성하려면 ALTER 권한이 필요합니다.
SQL Server Management Studio 사용
기본 키를 만들려면
- 개체 탐색기에서 원하는 테이블을 마우스 오른쪽 버튼으로 클릭합니다. 고유 한 제약 조건을 추가하려면 디자인을 클릭합니다.
- 테이블 디자이너에서 기본 키로 정의하려는 데이터베이스 열의 행 선택기를 클릭합니다. 여러 열을 선택하려면 Ctrl 키를 누른 상태에서 다른 열의 행 선택기를 클릭합니다.
- 열의 행 선택기를 마우스 오른쪽 버튼으로 클릭하고 기본 키 설정을 선택합니다.
주의
기본 키를 재정의하려면 새 기본 키를 만들기 전에 기존 기본 키에 대한 모든 관계를 삭제해야합니다. 이 프로세스의 일부로 기존 관계가 자동으로 삭제된다는 경고 메시지가 표시됩니다.
기본 키 열은 행 선택기에서 기본 키 기호로 식별됩니다.
기본 키가 둘 이상의 열로 구성된 경우 하나의 열에 중복 값이 허용되지만 기본 키에있는 모든 열의 각 값 조합은 고유해야합니다.
복합을 정의하는 경우 키의 경우 기본 키의 열 순서는 표에 표시된 열 순서와 일치합니다. 그러나 기본 키를 만든 후에 열 순서를 변경할 수 있습니다. 자세한 내용은 기본 키 수정을 참조하십시오.
Transact-SQL 사용
기존 테이블에 기본 키를 만들려면
다음 예제에서는 기본 키를 만듭니다. AdventureWorks 데이터베이스의 TransactionID
열에 있습니다.
새 테이블에 기본 키를 만들려면
다음 예는 테이블을 만들고 AdventureWorks 데이터베이스의 TransactionID
열에 기본 키를 정의합니다.
새 테이블에서 클러스터형 인덱스가있는 기본 키를 만들려면
다음 예에서는 테이블을 만들고 CustomerID
열에 기본 키를 정의합니다. AdventureWorks 데이터베이스의 TransactionID
에 대한 클러스터형 인덱스입니다.
참고 항목
- ALTER TABLE
- CREATE TABLE
- table_constraint