복붙노트

[SQL] 어떻게 SQL Server 데이터베이스에서 AUTO_INCREMENT 기본 키를 추가하는 방법은 무엇입니까?

SQL

어떻게 SQL Server 데이터베이스에서 AUTO_INCREMENT 기본 키를 추가하는 방법은 무엇입니까?

나는 테이블은 기본 키가 없음을 설정해야합니다. 할 수있는 모든 I 필요는 기본 키, 아니 널 (null), AUTO_INCREMENT를 추가합니다.

나는 Microsoft SQL Server 데이터베이스와 함께 일하고 있어요. 나는 그것이 하나의 명령으로 수행하지만 시도 모든 명령 구문 오류를 반환 유지 될 수 없음을 이해합니다.

편집하다 ---------------

나는 기본 키를 생성하고 심지어 NOT NULL로 설정했습니다. 그러나, 나는 AUTO_INCREMENT를 설정할 수 없습니다.

난 노력 했어:

ALTER TABLE tableName MODIFY id NVARCHAR(20) auto_increment
ALTER TABLE tableName ALTER COLUMN id NVARCHAR(20) auto_increment
ALTER TABLE tableName MODIFY id NVARCHAR(20) auto_increment
ALTER TABLE tableName ALTER COLUMN id NVARCHAR(20) auto_increment

그것은 나를 INT에서 NULL을하지 설정하지 않기 때문에 나는 NVARCHAR를 사용하고 있습니다

해결법

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

    1.그것은 하나의 명령으로 수행 할 수 있습니다. 당신은 "자동 번호"에 대한 IDENTITY 속성을 설정해야합니다 :

    그것은 하나의 명령으로 수행 할 수 있습니다. 당신은 "자동 번호"에 대한 IDENTITY 속성을 설정해야합니다 :

    ALTER TABLE MyTable ADD mytableID int NOT NULL IDENTITY (1,1) PRIMARY KEY
    

    더 정확하게, 명명 된 테이블 레벨 제약 조건을 설정합니다 :

    ALTER TABLE MyTable
       ADD MytableID int NOT NULL IDENTITY (1,1),
       CONSTRAINT PK_MyTable PRIMARY KEY CLUSTERED (MyTableID)
    

    MSDN에 ALTER TABLE 및 IDENTITY를 참조하십시오

  2. ==============================

    2.테이블이 이미 데이터를 포함하고 정체성을 열 중 하나를 변경하는 방법은 다음과 같습니다

    테이블이 이미 데이터를 포함하고 정체성을 열 중 하나를 변경하는 방법은 다음과 같습니다

    먼저 같은 열이 새 테이블을 만들고 기본 키 - kolumn을 지정합니다

    create table TempTable
    (
        Id int not null identity(1, 1) primary key
        --, Other columns...
    )
    

    그런 다음 표준 삽입 문을 사용하여 새 테이블로 원본 테이블에서 모든 행을 복사합니다.

    그런 다음 원래 테이블을 놓습니다.

    그리고 마지막으로 당신은 sp_rename을을 사용하여 원하는대로에 TEMPTABLE의 이름을 변경 :

    http://msdn.microsoft.com/en-us/library/ms188351.aspx

  3. ==============================

    3.또한 SQL Server Management Studio를 통해이 작업을 수행 할 수 있습니다.

    또한 SQL Server Management Studio를 통해이 작업을 수행 할 수 있습니다.

    그리고 미래에 당신이 바로 테이블에 방금 수정을 클릭하여 선택할 수 있습니다에서 단지 스크립트에 이런 종류의 일을 할 수 있도록하려면

    그래서 당신은 자신을 위해이 작업을 수행 할 수있는 올바른 구문을 볼 수있다.

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

    4.당신이 열이있는 경우는 매우 간단합니다.

    당신이 열이있는 경우는 매우 간단합니다.

    ID 열에서 속성 → 왼쪽 부분에있는 테이블 → 디자인 → (오른쪽 클릭) → 선택 #column에 마우스 오른쪽 버튼으로 클릭 : 디자이너를 사용하면 신원 (1,1)으로 열을 설정할 수 있습니다.

    속성 :

    ID 열 :

  5. ==============================

    5.에서 SQL 서버 2008 :

    에서 SQL 서버 2008 :

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

    6.당신이 시도 할 수 있습니다 ... ALTER TABLE Your_Table  내 table_id INT NOT NULL PRIMARY KEY의 AUTO_INCREMENT를 ADD;

    당신이 시도 할 수 있습니다 ... ALTER TABLE Your_Table  내 table_id INT NOT NULL PRIMARY KEY의 AUTO_INCREMENT를 ADD;

  7. from https://stackoverflow.com/questions/6777734/how-do-i-add-a-auto-increment-primary-key-in-sql-server-database by cc-by-sa and MIT license