컬럼(SQL Server 2008 R2)에 고유한 제약조건을 작성하려면 어떻게 해야 합니까?
SQL Server 2008 R2를 사용하고 있으며 고유한 열을 설정하려고 합니다.
여기에는 두 가지 방법이 있는 것 같습니다. "독특한 지수"와 "독특한 제약"입니다.인덱스를 자동으로 얻을 수 있기 때문에 대부분의 경우 고유한 제약이 권장되지만 제가 아는 것과 크게 다르지 않습니다.
고유한 제약조건을 작성하려면 어떻게 해야 합니까?
ALTER TABLE Customer ADD CONSTRAINT U_Name UNIQUE(Name)
SQL Server Management Studio를 통해 고유한 제약조건을 만드는 방법이 있습니까?
GUI에서 SQL Server에서 열을 고유하게 설정합니다.
GUI를 사용하여 작업하기 위해 헛간을 뛰어다니게 됩니다.
시작하기 전에 열이 고유한 제약 조건을 위반하지 않는지 확인하십시오.
- SQL Server Management Studio를 엽니다.
- 표를 마우스 오른쪽 버튼으로 클릭하고 "설계"를 클릭합니다.
- 편집할 열을 마우스 오른쪽 버튼으로 클릭하면 팝업 메뉴가 나타나고 색인/키를 클릭합니다.
- [추가] 버튼을 클릭합니다.
- "일반" 탭을 확장합니다.
- "columns" 상자에서 원하는 열을 선택했는지 확인합니다.
- "유형" 상자를 "고유 키"로 변경합니다.
- "닫기"를 클릭합니다.
- 파일 창에 작은 별표가 표시됩니다.이것은 변경 내용이 아직 저장되지 않았음을 의미합니다.
- 저장을 누르거나 Ctrl+s를 누릅니다.저장되고 열이 고유해야 합니다.
또는 SQL Query 창에서 열을 고유하게 설정합니다.
alter table location_key drop constraint pinky;
alter table your_table add constraint pinky unique(yourcolumn);
변경 사항은 즉시 적용됩니다.
Command(s) completed successfully.
GUI를 통해 이러한 제약을 작성하려면 제약조건을 확인하는 대화상자가 아닌 "색인과 키" 대화상자가 필요합니다.
하지만 당신의 경우에는 이미 가지고 있는 코드를 실행하기만 하면 됩니다.표현 대화에 입력할 필요가 전혀 없습니다.
오브젝트 탐색기에서 (제약이 아닌) 인덱스를 통과하더라도 스크립트가 수행하는 것과 동일한 작업을 수행하는 GUI를 사용하는 또 다른 방법이 있습니다.
- "색인"을 마우스 오른쪽 버튼으로 누른 후 "새 색인..."을 누릅니다(참고: 설계 보기에서 테이블을 연 경우 사용 불가능).
- 새 인덱스에 이름("U_Name")을 지정하고 "Unique"를 선택한 다음 "Add..."를 클릭합니다.."
- 다음 윈다운에서 "이름" 열을 선택합니다.
- 양쪽 창에서 [OK]을 클릭합니다.
명확하게 설명되지 않은 것은 Microsoft SQL이 백그라운드에서 추가된 제약조건에 대한 고유한 인덱스를 만들고 있다는 것입니다.
create table Customer ( id int primary key identity (1,1) , name nvarchar(128) )
--Commands completed successfully.
sp_help Customer
---> index
--index_name index_description index_keys
--PK__Customer__3213E83FCC4A1DFA clustered, unique, primary key located on PRIMARY id
---> constraint
--constraint_type constraint_name delete_action update_action status_enabled status_for_replication constraint_keys
--PRIMARY KEY (clustered) PK__Customer__3213E83FCC4A1DFA (n/a) (n/a) (n/a) (n/a) id
---- now adding the unique constraint
ALTER TABLE Customer ADD CONSTRAINT U_Name UNIQUE(Name)
-- Commands completed successfully.
sp_help Customer
---> index
---index_name index_description index_keys
---PK__Customer__3213E83FCC4A1DFA clustered, unique, primary key located on PRIMARY id
---U_Name nonclustered, unique, unique key located on PRIMARY name
---> constraint
---constraint_type constraint_name delete_action update_action status_enabled status_for_replication constraint_keys
---PRIMARY KEY (clustered) PK__Customer__3213E83FCC4A1DFA (n/a) (n/a) (n/a) (n/a) id
---UNIQUE (non-clustered) U_Name (n/a) (n/a) (n/a) (n/a) name
보시다시피 새로운 제약조건과 새로운 인덱스 U_Name이 있습니다.
표의 [설계] 보기에서 원하는 열을 누른 후 상단 도구 모음에서 [표 설계자] 탭을 펼칩니다.인덱스/키 옵션을 선택합니다.~
그런 다음 새 제약 조건을 추가하고 오른쪽 열을 선택한 후 유형을 고유 키로 설정하고 이름을 지정합니다.그게 다예요!^^
언급URL : https://stackoverflow.com/questions/5181877/how-can-i-create-a-unique-constraint-on-my-column-sql-server-2008-r2
'programing' 카테고리의 다른 글
Windows에서 ssh-add를 실행하는 방법 (0) | 2023.04.22 |
---|---|
isKindOfClass와 isMemberOfClass의 iOS 차이점 (0) | 2023.04.22 |
setNeedsLayout vs. setNeedsUpdateConstraints 및 레이아웃IfNeeded vs updateConstraints필요한 경우 (0) | 2023.04.22 |
OleDB 및 Excel 혼합 데이터 유형: 데이터 누락 (0) | 2023.04.22 |
Xcode 6 버그: Interface Builder 파일의 알 수 없는 클래스 (0) | 2023.04.22 |