>데이터 베이스 >MySQL 튜토리얼 >SQL Server에서 ID 열을 수정하려면 어떻게 해야 합니까?

SQL Server에서 ID 열을 수정하려면 어떻게 해야 합니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2025-01-07 13:56:40521검색

How Can I Modify Identity Columns in SQL Server?

SQL Server의 ID 열 업데이트: 종합 가이드

SQL Server 데이터베이스 작업 시 다음 작업이 필요한 상황에 직면할 수 있습니다. ID 열을 수정합니다. 이 기사에서는 이 요구 사항을 해결하는 데 사용할 수 있는 옵션을 살펴보고 제한 사항과 대안에 대한 철저한 설명을 제공합니다.

ID 열을 업데이트할 수 없음

달리 SQL Server 테이블의 다른 열에서는 업데이트 문을 사용하여 ID 열을 직접 업데이트할 수 없습니다. 이러한 제한은 테이블에 새 레코드가 삽입될 때마다 자동으로 증가하도록 설계된 ID 열의 특성 때문입니다.

ID 열 업데이트의 대안

하지만 직접 업데이트는 불가능하며 특정 상황에 따라 유사한 결과를 얻을 수 있는 대체 방법이 있습니다. 요구 사항:

1. 새 레코드의 ID 값 업데이트

테이블에 삽입되는 향후 레코드가 특정 ID 값으로 시작하는지 확인해야 하는 경우 DBCC CHECKIDENT 명령을 사용할 수 있습니다. 이 명령을 사용하면 현재 ID 값을 재설정하고 새 시작 값을 지정할 수 있습니다.

구문:

DBCC CHECKIDENT('tableName', RESEED, NEW_RESEED_VALUE)

2. 기존 레코드의 ID 값 업데이트

기존 레코드의 ID 값을 업데이트하려면 IDENTITY_INSERT 속성을 활용할 수 있습니다. 이 속성을 사용하면 새 레코드를 삽입할 때 ID 값을 명시적으로 지정할 수 있습니다.

구문:

SET IDENTITY_INSERT YourTable {ON|OFF}

예:

-- Turn on IDENTITY_INSERT to allow explicit identity value insertion
SET IDENTITY_INSERT YourTable ON
GO
-- Insert a new record with the desired identity value
INSERT INTO YourTable(IdentityCol, otherCol) VALUES(13,'myValue')
GO
-- Delete the old record with the existing identity value
DELETE FROM YourTable WHERE ID=3
GO
-- Turn off IDENTITY_INSERT to resume automatic identity value increment
SET IDENTITY_INSERT YourTable OFF

이러한 기술을 활용하면 SQL의 ID 열 업데이트와 관련된 문제를 효과적으로 해결할 수 있습니다. 서버.

위 내용은 SQL Server에서 ID 열을 수정하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.