[SQL] 방법에 2008 SQL Server를 사용하여 해제 IDENTITY_INSERT를 켭니다?
SQL방법에 2008 SQL Server를 사용하여 해제 IDENTITY_INSERT를 켭니다?
이유는 IDENTITY_INSERT가 OFF로 설정되어있을 때 삽입을하는 오류는 무엇입니까?
어떻게 2008 SQL 서버에서 제대로 전원을 켜합니까? 그것은 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.
해결법
-
==============================
1.MSDN에 따라 통해 SQL
MSDN에 따라 통해 SQL
SET IDENTITY_INSERT sometableWithIdentity ON INSERT INTO sometableWithIdentity (IdentityColumn, col2, col3, ...) VALUES (AnIdentityValue, col2value, col3value, ...) SET IDENTITY_INSERT sometableWithIdentity OFF
전체 오류 메시지가 정확히 어떤 문제가 알려줍니다 ...
-
==============================
2.나는 그것이 나 심지어 IDENTITY_INSERT ON을 설정 한 후 삽입을 허용하지 않는 문제가 있었다.
나는 그것이 나 심지어 IDENTITY_INSERT ON을 설정 한 후 삽입을 허용하지 않는 문제가 있었다.
문제는 내가 열 이름을 지정하지 않았다이었고, 어떤 이유로 그것을하지 그것을 좋아했다.
INSERT INTO tbl Values(vals)
그래서 기본적으로 전체 INSERT INTO의 TBL을 (COLS) 값 (발스)
-
==============================
3.수입: 당신은 INSERT 문에 열을 작성해야합니다
수입: 당신은 INSERT 문에 열을 작성해야합니다
INSERT INTO TABLE SELECT * FROM
올바르지 않습니다.
Insert into Table(Field1,...) Select (Field1,...) from TABLE
맞다
-
==============================
4.나는이 이전 스레드 알고 있지만 난 그냥이 부딪쳤다. 사용자가 다른 세션을 설정 IDENTITY_INSERT ON 후 ID 열에서 삽입을 실행하려는 경우, 그는 위의 오류를 얻을 수밖에 없다.
나는이 이전 스레드 알고 있지만 난 그냥이 부딪쳤다. 사용자가 다른 세션을 설정 IDENTITY_INSERT ON 후 ID 열에서 삽입을 실행하려는 경우, 그는 위의 오류를 얻을 수밖에 없다.
아이디 삽입 값을 설정 및 후속 삽입 DML 명령은 동일한 세션에서 실행할 수 있습니다.
여기 @Beginner 별도로 신원 삽입 ON을 설정 한 후 자신의 응용 프로그램에서 삽입을 실행. 그는 오류 아래있어 이유입니다 :
Cannot insert explicit value for identity column in table 'Baskets' when IDENTITY_INSERT is set to OFF.
-
==============================
5.이렇게하면 기본 키 필드가 있고 중복되는 값을 삽입하거나 당신이 할 수있는 INSERT_IDENTITY 플래그가 설정되어있을 때 가능성이 높습니다
이렇게하면 기본 키 필드가 있고 중복되는 값을 삽입하거나 당신이 할 수있는 INSERT_IDENTITY 플래그가 설정되어있을 때 가능성이 높습니다
-
==============================
6.그것은 ON 세트 IDENTITY_INSERT의 Database.dbo.Baskets을 넣을 필요가 보인다; 모든 SQL INSERT 전에 일괄 전송.
그것은 ON 세트 IDENTITY_INSERT의 Database.dbo.Baskets을 넣을 필요가 보인다; 모든 SQL INSERT 전에 일괄 전송.
당신은 하나의 SET IDENTITY_INSERT ... ON 시작 몇 INSERT ... VALUES ... 명령을 보낼 수있다; 처음에 문자열입니다. 그냥 사이에 배치 구분을 두지 않습니다.
다음 SET IDENTITY_INSERT가 ... ON이 전송 블록 후 작동을 멈 춥니 다 내가 왜 몰라 (예을 위해 : C #에서 .ExecuteNonQuery을 ()). 내가 SET IDENTITY_INSERT를 넣어했다 ... ON; 다시 다음 SQL 명령 문자열의 시작 부분에.
-
==============================
7.당신은 당신이 신원 삽입을 설정 한 후 명령 '이동'을 추가해야합니다. 예:
당신은 당신이 신원 삽입을 설정 한 후 명령 '이동'을 추가해야합니다. 예:
SET IDENTITY_INSERT sometableWithIdentity ON go INSERT sometableWithIdentity (IdentityColumn, col2, col3, ...) VALUES (AnIdentityValue, col2value, col3value, ...) SET IDENTITY_INSERT sometableWithIdentity OFF go
from https://stackoverflow.com/questions/7063501/how-to-turn-identity-insert-on-and-off-using-sql-server-2008 by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] RANK ()와 DENSE_RANK () 오라클 함수의 차이점은 무엇입니까? (0) | 2020.04.17 |
---|---|
[SQL] 포스트 그레스에서 재설정 자동 증가 카운터 (0) | 2020.04.17 |
[SQL] PostgreSQL의를 사용하여 동일한 쿼리에서 여러 행을 업데이트 (0) | 2020.04.17 |
[SQL] 열이 MySQL은 비어 있거나 null의 경우는 어떻게 확인합니까? (0) | 2020.04.17 |
[SQL] 어떻게 SQL Server의 특정 날짜보다 큰 모든 날짜에 대해 쿼리합니까? (0) | 2020.04.17 |