[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.그것은 하나의 명령으로 수행 할 수 있습니다. 당신은 "자동 번호"에 대한 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.테이블이 이미 데이터를 포함하고 정체성을 열 중 하나를 변경하는 방법은 다음과 같습니다
테이블이 이미 데이터를 포함하고 정체성을 열 중 하나를 변경하는 방법은 다음과 같습니다
먼저 같은 열이 새 테이블을 만들고 기본 키 - 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.또한 SQL Server Management Studio를 통해이 작업을 수행 할 수 있습니다.
또한 SQL Server Management Studio를 통해이 작업을 수행 할 수 있습니다.
그리고 미래에 당신이 바로 테이블에 방금 수정을 클릭하여 선택할 수 있습니다에서 단지 스크립트에 이런 종류의 일을 할 수 있도록하려면
그래서 당신은 자신을 위해이 작업을 수행 할 수있는 올바른 구문을 볼 수있다.
-
==============================
4.당신이 열이있는 경우는 매우 간단합니다.
당신이 열이있는 경우는 매우 간단합니다.
ID 열에서 속성 → 왼쪽 부분에있는 테이블 → 디자인 → (오른쪽 클릭) → 선택 #column에 마우스 오른쪽 버튼으로 클릭 : 디자이너를 사용하면 신원 (1,1)으로 열을 설정할 수 있습니다.
속성 :
ID 열 :
-
==============================
5.에서 SQL 서버 2008 :
에서 SQL 서버 2008 :
-
==============================
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;
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
'SQL' 카테고리의 다른 글
[SQL] 어떻게 PostgreSQL을에 다음 및 이전 행이 현재의 행을 비교? (0) | 2020.05.09 |
---|---|
[SQL] 500,000+ 행 테이블에 자르기 표를 사용하지 않는 동안 효율적으로 행을 삭제하는 방법 (0) | 2020.05.09 |
[SQL] 스칼라 변수를 선언해야합니다 (0) | 2020.05.09 |
[SQL] 또는 NULL에 절 IS NULL (0) | 2020.05.09 |
[SQL] 연결된 서버는 null OLE DB 제공자 Microsoft.Jet.OLEDB.4.0의 인스턴스를 만들 수 없습니다 (0) | 2020.05.09 |