IT TIP

SQL Server 데이터베이스에 auto_increment 기본 키를 어떻게 추가합니까?

itqueen 2021. 1. 5. 20:44
반응형

SQL Server 데이터베이스에 auto_increment 기본 키를 어떻게 추가합니까?


현재 기본 키가없는 테이블이 설정되어 있습니다. 내가해야 할 일은 primary key, no null, auto_increment.

저는 Microsoft SQL Server데이터베이스로 작업하고 있습니다. 단일 명령으로는 수행 할 수 없지만 시도하는 모든 명령은 구문 오류를 계속 반환한다는 것을 이해합니다.

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

기본 키를 만들고 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로 NVARCHAR설정하지 않기 때문에 사용 하고 있습니다.NOT NULL


단일 명령으로 수행 할 수 있습니다. "자동 번호"에 대한 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참조하십시오.


테이블에 이미 데이터가 포함되어 있고 열 중 하나를 ID로 변경하려는 경우 :

먼저 동일한 열이있는 새 테이블을 만들고 기본 키 열을 지정합니다.

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

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

그런 다음 원래 테이블을 삭제하십시오.

마지막으로 TempTable다음을 사용하여 원하는 이름으로 이름 바꿉니다 sp_rename.

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


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

선택한 테이블을 마우스 오른쪽 버튼으로 클릭-> 수정

PK로 설정하려는 필드를 마우스 오른쪽 버튼으로 클릭-> 기본 키 설정

열 속성에서 "ID 사양"을 예로 설정 한 다음 시작 값과 증분 값을 지정합니다.

그런 다음 나중에 이런 종류의 스크립트를 작성하려면 방금 수정 한 테이블을 마우스 오른쪽 버튼으로 클릭하고

"SCRIPT TABLE AS"-> CREATE TO

이 작업을 수행하기위한 올바른 구문을 직접 확인할 수 있습니다.


칼럼이 있다면 매우 쉽습니다.

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


속성 :

여기에 이미지 설명 입력

ID 열 :

여기에 이미지 설명 입력


SQL Server 2008에서 :

  • 테이블을 마우스 오른쪽 버튼으로 클릭
  • 디자인으로 이동
  • 숫자 데이터 유형 선택
  • 새 열에 이름 추가
  • ID 사양을 '예'로 설정

당신은 이것을 시도 할 수 있습니다 ... ALTER TABLE Your_Table ADD table_ID int NOT NULL PRIMARY KEY auto_increment;

참조 URL : https://stackoverflow.com/questions/6777734/how-do-i-add-a-auto-increment-primary-key-in-sql-server-database

반응형