SQL Server의 ID 열 삽입 문제 해결
SQL Server의 ID 열에 값을 삽입하는 데 문제가 있습니까? 이 가이드에서는 일반적인 오류에 대해 설명하고 간단한 해결 방법을 제공합니다.
문제:
ID 열에 지정된 값이 있는 행을 삽입하려고 하면 다음 오류가 발생하는 경우가 많습니다.
서버: 메시지 544, 레벨 16, 상태 1, 라인 1
IDENTITY_INSERT가 OFF로 설정된 경우 테이블 'table'의 ID 열에 명시적 값을 삽입할 수 없습니다.
오류 이해:
ID 열은 자동으로 고유한 순차 값을 생성합니다. 이 오류는 IDENTITY_INSERT
이 기본적으로 OFF
로 설정되어 있기 때문에 발생합니다. 이 설정은 ID 열에 값을 직접 할당하는 것을 방지하여 데이터베이스가 시퀀스에 대한 제어를 유지하도록 보장합니다.
해결책:
ID 열에 특정 값을 삽입하려면 이 기본 동작을 일시적으로 재정의해야 합니다. 다음 단계를 따르세요.
IDENTITY_INSERT
: 일시적으로 명시적 값 삽입을 허용하려면 이 명령을 사용하세요.SET IDENTITY_INSERT Table1 ON
INSERT
문에 모든 열을 지정해야 합니다.테이블1에 삽입(OperationID, OpDescription, FilterID)
VALUES (20, '계층 업데이트', 1)
IDENTITY_INSERT
비활성화: 삽입 후 즉시 IDENTITY_INSERT
을 비활성화하여 기본 동작을 복원합니다.SET IDENTITY_INSERT Table1 OFF
이 프로세스를 사용하면 데이터 무결성을 유지하면서 특정 상황에서 ID 열 값을 관리할 수 있습니다. 삽입이 완료되면 항상 IDENTITY_INSERT
을 비활성화해야 합니다.
위 내용은 내 ID 열에 값을 삽입할 수 없는 이유는 무엇이며 어떻게 해결합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!