SQL Server에서 ID 열 값 재설정

SQL Server 테이블에서 ID 열을 사용하는 경우 원하는 값으로 다음 삽입 값을 설정할 수 있습니다. 예를 들어, ID 열의 번호를 1 대신 1000으로 시작하려면

먼저 현재 식별 값이 무엇인지 확인하는 것이 현명합니다. 이 명령을 사용하여 그렇게 할 수 있습니다.

DBCC CHECKIDENT ( ‘tablename’, NORESEED)

예를 들어 주문 테이블의 다음 ID 값을 확인하려면이 명령을 사용할 수 있습니다.

DBCC CHECKIDENT (주문, NORESEED)

다음 ID의 값을 1000으로 설정하려면이 명령을 사용할 수 있습니다.

DBCC CHECKIDENT (주문, RESEED, 999)

다음 값은 + 1로 다시 시드 한 값이되므로이 값을 999로 설정하여 다음 값이 1000이되도록하십시오.

전체 경로로 참조하거나 테이블 이름에 공백이있는 경우 테이블 이름을 작은 따옴표 나 대괄호로 묶어야 할 수도 있습니다. (그것은 정말로해서는 안된다)

DBCC CHECKIDENT ( ‘databasename.dbo.orders’, RESEED, 999)

멋진 … 그게 내가 필요로하는 모든 것, 고마워요! … … 좋은 주말 되세요 ..

안녕하세요, 그래서 inwas 찾고 무엇 ..;

감사!

미시 코!

정말 고마워!

위대한 간결한 페이지. 감사. ms 도움말 파일보다 훨씬 쉽습니다.

이것은 위대합니다. 그러나 다음 코드를 작성하는 방법 @seqno int;를 선언하십시오 @seqno = DBCC CHECKIDENT (orders, NORESEED); DBCC CHECKIDENT ( ‘databasename.dbo.orders’, RESEED, @seqno)

나는 당신이 원하는 것을 할 수있는 스크립트를 만들었습니다, 락 쉬미. 아래의 MyId 및 mytbl을 바꿉니다.

DECLARE @MaxId INT

SELECT @ MaxId = MAX (MyId); FROM mytbl (NOLOCK)

PRINT ‘ID 값을 다음으로 재설정 :’+ CONVERT (VARCHAR, @MaxId); PRINT ”

DBCC CHECKIDENT ( ‘mytbl’, RESEED, @MaxId)

인쇄 ”

– 확인, DBCC CHECKIDENT ( ‘mytbl’, NORESEED)

감사 괴짜 – 매력처럼 작동

고마워요 !!!!!!!!!; 유용한 것들 …………

고마워, 이걸 찾고 있었어.

고마워. 나를 위해 0 값을 사용하면 다시 시드, SQL Server 2005 1에서 시작하지 않았지만 실제로 0. +1 문이 맞지 않을 수 있습니다?

정보 주셔서 감사합니다. 그것은 유용했다.

감사:-)

훌륭해, 고마워.

좋아, 고마워. 이상한 일. SQL Server 2005와 함께 SQL Server Management Studio Express의 광고 테스트와 정확하게 동일하게 작동하지만 동일한 데이터베이스에 대해 Java (sqljdbc)를 사용하여 코딩 한 경우 다음 값은 다시 시드되지 않고 +1이지만 시드 값 자체는 haridsv가 발견 한대로).

고마워, 괴짜!

고맙습니다!

친애하는 Haridsv와 믹

ID가 아직 사용되지 않은 경우 재실행이 올바르게 작동하지 않습니다.

테이블이 생성 된 순간부터 다시 작업하기를 원하는 경우, 예를 들어 테이블을 생성 한 직후에 무언가를 삽입 할 수 있습니다.

mytbl (id_column int NOT NULL IDENTITY (1, 1), char_column char (1)); mytbl (char_column) 값 ( ‘a’)에 삽입, mytbl에서 삭제

그 후 원하는만큼 DBCC CHECKIDENT ( ‘mytbl’, RESEED, 0)를 수행 할 수 있습니다.

안부, Enrique

그게 다야, 너 정말 고마워 해.

매우 유용한 게시물 .. 많은 감사드립니다.

3 년 후 귀하의 게시물은 계속 유용합니다, TY.

SQL Server Management Studio를 사용하는 경우 테이블을 디자인 모드에서 열어 필드를 선택하고 Identity Seed 속성 (Identity Specification 그룹)으로 이동하여 필요한 벨소리로 설정할 수 있습니다.

유용한 정보 주셔서 감사합니다!

도움에 감사드립니다. 그것은 나를 많이 돕는다.

친애하는 Haridsv와 믹

나는 또한 0으로 시작하는 것과 같은 결과를 얻었습니다. 여기서 차이를 만드는 것은 테이블을 지우는 것입니다. TRUNCATE를 사용하여 테이블을 삭제하면 “0”이 초기 값이됩니다. DELETE를 사용하면 “1”부터 시작합니다.

희망을 명확히 ..

감사합니다, Venkatesh R

탱크 많은 내 친구.

굉장히 유용하다

고마워. 실제로 매우 유용합니다!

아주 좋았어! .. 고마워. 좀 더 흥미로운 주제를 계속 게시하십시오.

글쎄요, 3 년 후 당신의 게시물은 저에게 많은 시간을 절약 해주었습니다; 고마워요!

감사!

위에서 언급 한 코드는 현재 ID를 얻는 것입니다. 하지만 나는 조건에 따라 자동으로 다음 ID를 취하는 것을 원한다.

조건부 RESEED를 사용하여 새 테이블에서 0 값을 피할 수도 있습니다.

IF IDENT_CURRENT ( ‘MyTable’)> 1 DBCC CHECKIDENT ( ‘MyDB.dbo.MyTable’, RESEED, 0)

도움이된다; 고마워!

고마워. .. 매우 도움이되었다.

감사:)

DBCC CHECKIDENT (tablename, RESEED)는 시드 값을 기존 시드 값 또는 열의 최대 값 + 1 중 큰 값으로 설정하므로 ID 필드의 현재 최대 값에 다시 시드하려면이 값을 사용하십시오

DBCC CHECKIDENT (tablename, RESEED, 0), DBCC CHECKIDENT (tablename, RESEED)

아주 좋아! 매우 도움이되었습니다!

매우 유익한 THX

정말 고마워

모든 도움 주셔서 감사합니다.

헤이 영웅, 고마워요 !!

무지개 모양은 원형이지만, 비행기를 타고 내려다 보지 않으면 총 무지개 중 일부만 볼 수 있습니다.