복붙노트

[SQL] 어떻게 SQL Server 2008의 복합 기본 키를 만들 수 있습니다

SQL

어떻게 SQL Server 2008의 복합 기본 키를 만들 수 있습니다

나는 SQL Server 2008의 테이블을 만들려면,하지만 난 복합 기본 키를 생성하는 방법을 모르겠어요. 이걸 어떻게 달성 할 수 있습니까?

해결법

  1. ==============================

    1.

    create table my_table (
         column_a integer not null,
         column_b integer not null,
         column_c varchar(50),
         primary key (column_a, column_b)
    );
    
  2. ==============================

    2.

    CREATE TABLE UserGroup
    (
      [User_Id] INT NOT NULL,
      [Group_Id] INT NOT NULL
    
      CONSTRAINT PK_UserGroup PRIMARY KEY NONCLUSTERED ([User_Id], [Group_Id])
    )
    
  3. ==============================

    3.통해 엔터프라이즈 관리자 (SSMS) ...

    통해 엔터프라이즈 관리자 (SSMS) ...

    당신은 마우스 오른쪽 테이블을 클릭 할 수있는 SQL을 보려면> 스크립트 테이블로가>로 만들기

  4. ==============================

    4.나는이 파티에 늦었 알고 있지만, 기존의 테이블, 시도 :

    나는이 파티에 늦었 알고 있지만, 기존의 테이블, 시도 :

    ALTER table TABLE_NAME
    ADD CONSTRAINT [name of your PK, e.g. PK_TableName] PRIMARY KEY CLUSTERED (column1, column2, etc.)
    
  5. ==============================

    5.MSSQL 서버 2012

    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> 키> ..)하지만 당신은 제약 조건을 사용하지 않는 경우, MSSQL의 임의 FK / PK 이름을 자동으로 만듭니다. 당신은 당신이 필요로하는 모든 변경 (ALTER 테이블)에보고해야합니다.

    난 당신이 자신을위한 기준을 설정하는 것이 좋습니다; 제약 조건은 표준에 따라 정의되어야한다. 당신은 기억 할 필요가 없습니다 당신은 너무 오래 생각하지 않습니다. 즉, 당신은 더 빠르게 작동합니다.

  6. ==============================

    6.먼저 데이터베이스와 테이블, 수동으로 열을 추가를 만들 수 있습니다. 이는 열에 기본 키이어야한다. 당신이 바로이 칼럼과 세트 기본 키를 클릭하고 기본 키의 시드 값을 설정해야합니다.

    먼저 데이터베이스와 테이블, 수동으로 열을 추가를 만들 수 있습니다. 이는 열에 기본 키이어야한다. 당신이 바로이 칼럼과 세트 기본 키를 클릭하고 기본 키의 시드 값을 설정해야합니다.

  7. ==============================

    7.테이블에 복합 고유 키를 만들려면

    테이블에 복합 고유 키를 만들려면

    ALTER TABLE [TableName] ADD UNIQUE ([Column1], [Column2], [column3]);
    
  8. ==============================

    8.

    CREATE TABLE UserGroup
    (
      [User_Id] INT Foreign Key,
      [Group_Id] INT foreign key,
    
     PRIMARY KEY ([User_Id], [Group_Id])
    )
    
  9. from https://stackoverflow.com/questions/3922337/how-to-create-composite-primary-key-in-sql-server-2008 by cc-by-sa and MIT license