본문 바로가기
[AWS]/AWS RDS

MS-SQL의 Table에 uniqueidentifier 칼럼 있을 경우 CSV파일 Import 하는 방법

by METAVERSE STORY 2022. 6. 21.
반응형
728x170

uniqueidentifier칼럼이 있을 경우, CSV 파일로 업로드시  Conversion failed when converting from a character string to uniqueidentifier.와 같은 오류가 발생한다.

이때 해결 방법은 동일한 임시 테이블을 만들어 데이터를 Insert하면된다.

임시 테이블 생성시 uniqueidentifier 칼럼을 char(36) 또는 varchar(36)으로 변경하여 테이블을 생성한다.
생성된 임시 테이블에 CSV 파일을 넣는다.
임시 테이블을 조회하여 원본 테이블에 Insert한다.


예시)
원본 테이블
CREATE TABLE IDEA_TMP (
GUID uniqueidentifier COLLATE Korean_Wansung_CI_AS NOT NULL,
TYPE int NOT NULL,
ITEM_IDint NOT NULL,
CNT int NOT NULL,
CONSTRAINT PK_IDEA PRIMARY KEY (GUID)
);

임시 테이블 생성
임시 테이블 생성시 칼럼 유형을 uniqueidentifier -->varchar(36) 으로 변경해야한다.
CREATE TABLE IDEA_TMP (
GUID varchar(36) COLLATE Korean_Wansung_CI_AS NOT NULL,
TYPE int NOT NULL,
ITEM_IDint NOT NULL,
CNT int NOT NULL,
CONSTRAINT PK_IDEA_tmp PRIMARY KEY (GUID)
);

CSV 파일을 IDEA_TMP 테이블에 넣는다.
이제, 임시 테이블 IDEA_TMP 를 조회하여 IDEA 에 넣자.
중요한 부분은  CAST를 사용하여 uniqueidentifier로 형변환을 하는 것이다.

INSERT INTO IDEA(GUID, TYPE, ITEM_ID, CNT)
SELECT CAST(GUID AS uniqueidentifier), TYPE, ITEM_ID, CNT FROM IDEA_TMP

자 이제 실행하면 전체 데이터가 잘 들어간 것을 확인 할 수 있다.

 

반응형
그리드형

댓글