SQL Server 2008에서 복합 기본 키를 만드는 방법
SQL Server 2008에서 테이블을 만들고 싶은데 복합 기본 키를 만드는 방법을 모르겠습니다.어떻게 하면 이것을 이룰 수 있을까요?
create table my_table (
column_a integer not null,
column_b integer not null,
column_c varchar(50),
primary key (column_a, column_b)
);
CREATE TABLE UserGroup
(
[User_Id] INT NOT NULL,
[Group_Id] INT NOT NULL
CONSTRAINT PK_UserGroup PRIMARY KEY NONCLUSTERED ([User_Id], [Group_Id])
)
SSMS(Enterprise Manager)를 통해...
- 합성 키를 만들 테이블을 마우스 오른쪽 버튼으로 클릭하고 설계를 선택합니다.
- 합성 키로 구성할 열을 강조 표시합니다.
- 해당 열 위를 마우스 오른쪽 단추로 클릭하고 기본 키 설정
SQL을 보려면 마우스 오른쪽 버튼을 클릭합니다.Table>Script Table As>Create To
파티에 늦었다는 건 알지만, 기존 테이블에 대해서는 다음을 시도해보세요.
ALTER table TABLE_NAME
ADD CONSTRAINT [name of your PK, e.g. PK_TableName] PRIMARY KEY CLUSTERED (column1, column2, etc.)
MSSQL 서버 2012의 경우
CREATE TABLE usrgroup(
usr_id int FOREIGN KEY REFERENCES users(id),
grp_id int FOREIGN KEY REFERENCES groups(id),
PRIMARY KEY (usr_id, grp_id)
)
갱신하다
추가해야겠네요!
외부 키/기본 키 변경을 추가하려면 먼저 제약 조건이 있는 키를 생성해야 합니다. 그렇지 않으면 변경할 수 없습니다.아래와 같이:
CREATE TABLE usrgroup(
usr_id int,
grp_id int,
CONSTRAINT FK_usrgroup_usrid FOREIGN KEY (usr_id) REFERENCES users(id),
CONSTRAINT FK_usrgroup_groupid FOREIGN KEY (grp_id) REFERENCES groups(id),
CONSTRAINT PK_usrgroup PRIMARY KEY (usr_id,grp_id)
)
사실 마지막 방법이 더 건강하고 연속적입니다.FK/PK 제약 조건 이름(dbo.dbname > Keys > ...)을 볼 수 있지만 제약 조건을 사용하지 않으면 MSSQL에서 임의의 FK/PK 이름을 자동으로 생성합니다.필요한 모든 변경 사항(변경 테이블)을 살펴봐야 합니다.
자신을 위한 표준을 설정하는 것이 좋습니다. 제약 조건은 표준에 따라 정의되어야 합니다.여러분은 외울 필요도 없을 것이고 너무 오래 생각할 필요도 없을 것입니다.간단히 말해서, 당신은 일을 더 빨리 합니다.
먼저 수동으로 열을 추가하면서 데이터베이스와 테이블을 작성합니다.기본 키가 될 열.이 열을 마우스 오른쪽 버튼으로 누르고 기본 키를 설정하고 기본 키의 시드 값을 설정해야 합니다.
테이블에 복합 고유 키를 작성하려면 다음과 같이
ALTER TABLE [TableName] ADD UNIQUE ([Column1], [Column2], [column3]);
CREATE TABLE UserGroup
(
[User_Id] INT Foreign Key,
[Group_Id] INT foreign key,
PRIMARY KEY ([User_Id], [Group_Id])
)
언급URL : https://stackoverflow.com/questions/3922337/how-to-create-composite-primary-key-in-sql-server-2008
'programing' 카테고리의 다른 글
| PowerShell 5의 쓰기-호스트 대 쓰기-정보 (0) | 2023.11.04 |
|---|---|
| Maria에서 최대 절전 모드를 사용하는 JPQL 업데이트 쿼리에서 오류 발생DB (0) | 2023.10.30 |
| 요소의 n번째 인스턴스를 가져오는 XPath 쿼리 (0) | 2023.10.30 |
| (++n) 식 크기에서 증분 연산자가 호출되지 않았습니다. (0) | 2023.10.30 |
| Are constant C expressions evaluated at compile time or at runtime? (0) | 2023.10.30 |