> 데이터 베이스 > MySQL 튜토리얼 > 내 ID 열에 값을 삽입할 수 없는 이유는 무엇이며 어떻게 해결합니까?

내 ID 열에 값을 삽입할 수 없는 이유는 무엇이며 어떻게 해결합니까?

Barbara Streisand
풀어 주다: 2025-01-19 09:31:09
원래의
120명이 탐색했습니다.

Why Can't I Insert a Value into My Identity Column and How Do I Fix It?

SQL Server의 ID 열 삽입 문제 해결

SQL Server의 ID 열에 값을 삽입하는 데 문제가 있습니까? 이 가이드에서는 일반적인 오류에 대해 설명하고 간단한 해결 방법을 제공합니다.

문제:

ID 열에 지정된 값이 있는 행을 삽입하려고 하면 다음 오류가 발생하는 경우가 많습니다.

서버: 메시지 544, 레벨 16, 상태 1, 라인 1
IDENTITY_INSERT가 OFF로 설정된 경우 테이블 'table'의 ID 열에 명시적 값을 삽입할 수 없습니다.

오류 이해:

ID 열은 자동으로 고유한 순차 값을 생성합니다. 이 오류는 IDENTITY_INSERT이 기본적으로 OFF로 설정되어 있기 때문에 발생합니다. 이 설정은 ID 열에 값을 직접 할당하는 것을 방지하여 데이터베이스가 시퀀스에 대한 제어를 유지하도록 보장합니다.

해결책:

ID 열에 특정 값을 삽입하려면 이 기본 동작을 일시적으로 재정의해야 합니다. 다음 단계를 따르세요.

  1. 활성화 IDENTITY_INSERT: 일시적으로 명시적 값 삽입을 허용하려면 이 명령을 사용하세요.

SET IDENTITY_INSERT Table1 ON

  1. INSERT 문 실행: 이제 데이터를 삽입합니다. 중요하게 반드시 INSERT 문에 모든 열을 지정해야 합니다.

테이블1에 삽입(OperationID, OpDescription, FilterID)
VALUES (20, '계층 업데이트', 1)

  1. IDENTITY_INSERT 비활성화: 삽입 후 즉시 IDENTITY_INSERT을 비활성화하여 기본 동작을 복원합니다.

SET IDENTITY_INSERT Table1 OFF

이 프로세스를 사용하면 데이터 무결성을 유지하면서 특정 상황에서 ID 열 값을 관리할 수 있습니다. 삽입이 완료되면 항상 IDENTITY_INSERT을 비활성화해야 합니다.

위 내용은 내 ID 열에 값을 삽입할 수 없는 이유는 무엇이며 어떻게 해결합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿