아이덴티티를 바꾸는 방법_SQL Server 2008을 사용하여 INSERT On/Off?
삽입할 때 오류가 발생하는 이유는 무엇입니까?IDENTITY_INSERT
OFF로 설정되어 있습니까?
SQL Server 2008에서 올바르게 설정하려면 어떻게 해야 합니까?SQL Server Management Studio를 사용합니까?
이 쿼리를 실행했습니다.
SET IDENTITY_INSERT Database. dbo. Baskets ON
그런 다음 콘솔에서 명령이 성공적으로 완료되었다는 메시지를 다시 받았습니다.그러나 응용 프로그램을 실행하면 아래와 같은 오류가 표시됩니다.
Cannot insert explicit value for identity column in table 'Baskets' when
IDENTITY_INSERT is set to OFF.
MSDN에 따른 SQL 경유
SET IDENTITY_INSERT sometableWithIdentity ON
INSERT INTO sometableWithIdentity
(IdentityColumn, col2, col3, ...)
VALUES
(AnIdentityValue, col2value, col3value, ...)
SET IDENTITY_INSERT sometableWithIdentity OFF
완전한 오류 메시지를 통해 정확히 무엇이 잘못되었는지 알 수 있습니다.
'sometable' 테이블에 ID 열에 대한 명시적 값을 삽입할 수 없습니다.IDENTITY_일 때 'IDENTITY로'INSERT가 OFF로 설정되어 있습니다.
IDENTITY_ 설정 후에도 삽입이 허용되지 않는 문제가 있었습니다.삽입합니다.
문제는 제가 칼럼 이름을 명시하지 않았고 어떤 이유에서인지 그것이 마음에 들지 않았다는 것입니다.
INSERT INTO tbl Values(vals)
따라서 기본적으로 전체 INSERT INTO tbl(cols) 값(vals)을 수행합니다.
가져오기: 열을 작성해야 합니다.INSERT
진술
INSERT INTO TABLE
SELECT * FROM
정확하지 않습니다.
Insert into Table(Field1,...)
Select (Field1,...) from TABLE
맞습니까?
이것이 오래된 스레드인 것은 알지만 저는 그냥 이것과 부딪쳤습니다.사용자가 다른 세션 후 IDITY 열에 대한 삽입을 실행하려는 경우 IDITY 설정_INSERT ON, 그러면 그는 위의 오류를 얻게 될 것입니다.
Identity Insert 값 설정과 이후의 Insert DML 명령은 동일한 세션에서 실행됩니다.
여기서 @Beginner는 Identity Insert를 별도로 설정한 다음 자신의 애플리케이션에서 삽입을 실행하고 있었습니다.이것이 그가 다음 오류를 얻은 이유입니다.
Cannot insert explicit value for identity column in table 'Baskets' when
IDENTITY_INSERT is set to OFF.
다음을 입력할 필요가 있습니다.SET IDENTITY_INSERT Database.dbo.Baskets ON;
모든 SQL 이전에INSERT
발송 일괄 처리
여러 개를 보낼 수 있습니다.INSERT ... VALUES ...
하나로 시작하는 명령SET IDENTITY_INSERT ... ON;
앞줄배치 구분자를 사이에 두지 마십시오.
나는 왜 그런지 모르겠어요.SET IDENTITY_INSERT ... ON
전송 블록 이후에 작동을 중지합니다(예: .ExecuteNonQuery()
C#)로 표시됩니다.나는 놓아야만 했습니다.SET IDENTITY_INSERT ... ON;
다음 SQL 명령 문자열의 시작 부분에 다시 입력합니다.
주 키 필드가 있고 중복되는 값을 삽입하거나 INSERT_IDENITY 플래그를 on으로 설정한 경우가 이에 해당합니다.
또 다른 옵션은 'type' 또는 'status'와 같은 테이블이 있는 경우입니다. 예를 들어, ID 값을 항상 제어하려는 OrderStatus에서는 ID 열 없이 ID(기본 키) 열을 만듭니다.
언급URL : https://stackoverflow.com/questions/7063501/how-to-turn-identity-insert-on-and-off-using-sql-server-2008
'prosource' 카테고리의 다른 글
마스터와 브랜치 간에 정보를 주고받습니까? (0) | 2023.05.03 |
---|---|
프로그래밍 방식으로 테이블 보기 행 선택 (0) | 2023.05.03 |
Git의 루트 폴더에서 파일만 제외하는 방법 (0) | 2023.05.03 |
CTRL-r과 유사하게 검색 Bash 기록을 전달할 수 없습니다. (0) | 2023.05.03 |
파이프 오류: Microsoft Visual C++ 14.0이 필요합니다. (0) | 2023.05.03 |