database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Q&A 9703 게시물 읽기
No. 9703
[pgsql] ON CONFLICT 사용할 때 컬럼이 UNIQUE 가 아닌 경우?
작성자
ampwings(ampwings)
작성일
2016-08-23 15:09
조회수
8,311

질문하면서 많이 배우네요. 

 

pgsql에서

ON CONFLICT(column_Name) 에서 보면 해당컬럼이 unique 아니면 에러가 발생합니다. 

메뉴얼 봐도 온통 unique 얘기 뿐이네요. 

 

unique 아닌 컬럼을 사용하려면 방법이 있을까요? 

아니면 기존의 upsert with 구문으로 사용해야 하나요? 

 

 

이 글에 대한 댓글이 총 2건 있습니다.

네 상식적으로 '충돌이 나면' 이 상황은 충돌 상황을 최대한 빨리 확인해야 하기 때문에,

당연히 해당 칼럼에 대한 유니크 제약 조건이 있어야 합니다.

 

with 절을 이용한 upsert 작업은 자료의 정합성이 아주 엄격하게 요구되는 환경에서는 쓸 수 없는 쿼리입니다.

자세한 이야기는 이곳 지난 글 어딘엔가 썼던 것으로 기억이 나네요.

 

김상기(ioseph)님이 2016-08-23 15:57에 작성한 댓글입니다.

질문하면서 많이 배웁니다. ^^ 감사합니다. 

ampwings(ampwings)님이 2016-08-24 07:45에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
9708undefined reference to `ber_sockbuf_io_udp' [2]
김현우
2016-08-25
9320
9707INSERT ALL -> pgsql로 변환 [2]
ampwings
2016-08-24
8919
9706pg_rman 설치후 로그 확인 불가상태입니다. [1]
김만영
2016-08-24
7646
9703[pgsql] ON CONFLICT 사용할 때 컬럼이 UNIQUE 가 아닌 경우? [2]
ampwings
2016-08-23
8311
9702AIX 설치시 오류 [1]
NK
2016-08-23
7945
9701with 구문인 경우 컬럼수만 맞추어 주면 되지 않나요? [3]
ampwings
2016-08-23
8513
9700파라미터로 List를 주고 pgsql에서 LOOP문을 이용한 배열 데이터 저장 [5]
ampwings
2016-08-19
15736
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.019초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다