Programming

SQL Server 2008에서 복합 기본 키를 만드는 방법

procodes 2020. 6. 2. 21:35
반응형

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 Server 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> 키> ..)을 볼 수 있지만 제약 조건을 사용하지 않으면 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

반응형