MSSQL

[MSSQL] ID설정 무시하기

MSSQL #IDENTITY_INSERT #ID열의 명시적 값 #IDENTITY_INSERT가 ON일 때 #MSSQL오류 #해결방법 #꿀팁

포스팅 목차 바로가기

안녕하세요, 배곧동개발자 입니다.

1. 오류

테이블에 새로운 row를 넣고 싶은데 ID값이 설정되어 있는 경우 아래와 같이 오류가 나서 insert가 안되지요.

ID 열의 명시적 값은 열 목록이 사용되고 IDENTITY_INSERT가 ON일 때만 지정할 수 있습니다.

하지만, 나는 넣고 싶다 이거야. 그럴땐 어떻게 하냐?


2. 원인

위에 설명했듯이 내가 insert를 하고 싶은 테이블에 id값이 설정되어 있으면 저렇게 에러가 뜹니다.

그렇다고 ID사양 설정을 풀순 없고, 심지어 insert 칠 때마다 풀어야 한다? 큰일납니다.


3. 해결방법

그렇다면 어떻게 해야하나? 아주 간단하게 쿼리의 앞뒤에 한줄씩 추가해주시면 됩니다.

SET IDENTITY_INSERT 테이블명 ON
SET IDENTITY_INSERT 테이블명 OFF

요거를 써서 값을 넣을 수 있지요. 바로 이렇게요.

SET IDENTITY_INSERT TBL_A ON

insert into TBL_A
select * from TBL_B

SET IDENTITY_INSERT TBL_A OFF

자. 저는 분명 이렇게 배웠어요. 그래서 직접 해봤는데

응? 똑같이 안되는데? 인터넷엔 이 방법 뿐이 없는데?

찾고 찾고 또 찾다보니 이렇게 된 이유는 바로! 컬럼이 명시되지 않아서였어요.

SET IDENTITY_INSERT TBL_A ON

insert into TBL_A(a,b,c,d)
select a,b,c,d from TBL_B

SET IDENTITY_INSERT TBL_A OFF

이렇게 한땀한땀 컬럼을 다 입력해주고 쿼리를 실행해보면?

짜잔- 컬럼을 다 써줘야 하는것이였어요. 좀 답답하긴 하지만! 해결방법을 찾았다는거에 의의를 둡시다!

이만, 배곧동개발자 이였습니다.

배곧동개발자

Recent Posts

[세븐나이츠 리버스] 쫄작 가이드 (기초편)

#세븐나이츠리버스 #쫄작 #가이드 #꿀팁 #제이브 그 옛날, 세나를 해보신 분들이라면 모를 수 없으나 이제 세븐나이츠…

3주 ago

[세븐나이츠 리버스] 최신 쿠폰 공유! 쿠폰 입력 방법! (5월15일)

1. 세븐나이츠 리버스 오늘, 2025년 5월 15일에 오픈한 세븐나이츠 리버스! 다들 시작하셨나요? 제이브를 뽑고싶은데 아직…

3주 ago

[CSS] 이미지가 빙빙 돈다? animation spin

#css #spin #animation #spin 1. 이미지가 빙빙돈다! 어? 이게 뭐지? 이미지가 빙빙 돕니다. 나 이거…

1개월 ago

[node.js] npm.ps1 파일을 로드할 수 없습니다

#노드js #nodejs #에러 #오류 #npm 1. npm.ps1 Error node js 를 설치 후 npm을 이용하려…

2개월 ago

[MSSQL] 넓은 영어, 띄어쓰기 영어 입력되는 현상 (전각입력/문자폭)

#MSSQL #문자폭 #영어넓이 #쿼리입력안됨 1. MSSQL 영어 입력 안되는 현상 MSSQL을 주로 쓰고 있는데 MSSMS에서…

3개월 ago

[이미르] 다니아믹 키 확실한 해결방법 (커스텀토큰/접속불가)

#레전드오브이미르 #다이나믹키가다릅니다 #커스텀토큰 #접속불가 #오류 #해결방법 1. 다이나믹 키 더럽다! 유저의 다이나믹키가 다릅니다. 위메이드의 레전드…

3개월 ago