program story

자동 증가로 열의 시작 값 설정

inputbox 2020. 11. 30. 08:07
반응형

자동 증가로 열의 시작 값 설정


Orders다음 필드 가있는 테이블 이 있습니다.

Id | 소계 | 세금 | 배송 | 작성일

Id열로 설정된다 autoincrement(1,1).

이것은 전자 상거래 상점에서 사용됩니다. 때때로 현재 전자 상거래 상점이 내 플랫폼으로 마이그레이션되고 이미 주문 Order.Id이 있습니다. 이는 예를 들어 현재가 9586.

autoincrement해당 값에서 필드를 시작 하고 싶습니다 .

어떻게 할 수 있습니까?


SQL Server ID 열 재설정 에서 :

테이블에 대한 ID 검색 Employees:

DBCC checkident ('Employees')

ID 시드 복구 (어떤 이유로 데이터베이스가 중복 ID를 삽입하는 경우) :

DBCC checkident ('Employees', reseed)

테이블의 ID 시드 Employees를 1000으로 변경 :

DBCC checkident ('Employees', reseed, 1000)

삽입 된 다음 행은 1001에서 시작합니다.


ID 시드를 해당 값으로 설정해야합니다.

CREATE TABLE orders
(
 id int IDENTITY(9586,1)
)

현재 테이블을 변경하려면 :

ALTER TABLE orders ALTER COLUMN Id IDENTITY (9586, 1);

CREATE TABLE (Transact-SQL) IDENTITY (등록 정보)에 대한 추가 정보


또한 일반적으로 IDENTITY 열에 대한 값을 설정할 수 없습니다. 그러나 테이블에 대해 IDENTITY_INSERT 를 ON으로 설정하면 행의 ID를 지정할 수 있습니다 . 예를 들면 :

SET IDENTITY_INSERT Orders ON

-- do inserts here

SET IDENTITY_INSERT Orders OFF

이 삽입은 ID를 마지막으로 삽입 된 값으로 재설정합니다. 에서 MSDN :

삽입 된 값이 테이블의 현재 ID 값보다 크면 SQL Server는 새로 삽입 된 값을 현재 ID 값으로 자동으로 사용합니다.

참고 URL : https://stackoverflow.com/questions/1280705/set-start-value-for-column-with-autoincrement

반응형