자동 증가 기본 키 열 "id"와 고유 키가 "name"열에있는 테이블에 postgres에서 올바른 업셋을 수행하는 방법을 찾으려고합니다. .Postgres에서 Upsert 및 자동 증가 열
문제는 소스 테이블과 대상 테이블이 2 개의 별도 시스템에 있으므로 최신 "ID"가 대상 테이블에 있는지 쉽게 알 수 없습니다.
내가 지금하고있는 방식은 대상 테이블에서 소스 테이블로 데이터를 가져 와서 가장 높은 "ID"를 확인하고 소스 데이터베이스의 테이블을 업데이트 한 다음 대상 테이블에 업서 트를 수행하는 것입니다. 그러나 당신이 볼 수 있듯이, 그것은 복잡해 보인다.
내가 원하는 무엇의 예는 다음과 같습니다
소스 테이블 :
id status name
1 ok John
2 open Monica
대상 테이블 : upsert의
id status name
. . .
. . .
44 ok David
45 open John
결과 :
id status name
. . .
. . .
44 ok David
45 ok John
46 open Monica
간단한 업 그레 이드 "id"열로 인해 중복 키 충돌이 발생합니다.
왜 ID없이 상태 (이름, 이름)를 삽입하면 시퀀스가 ID를 처리 할 수 있습니까? –