Postgresql 에 데이터를 업데이트하는 과정에서는 insert 를 할 때 on conflict 절에서 고유 키를 사용하여 충돌을 감지하고 충돌이 나는 경우에는 고유 키를 가진 컬럼의 값을 업데이트하고 그렇지 않은 경우 새로운 행을 추가해주게 된다.INSERT INTO {table_name} ({table_columns}) SELECT {update_columns} FROM {update_table}ON CONFLICT ({unique_key}) DO UPDATE SET {update_columns}; 위의 쿼리와 같이 ON CONFLICT 를 통해 고유키를 통해 업데이트의 여부를 결정하게 된다. 위의 쿼리를 통해 데이터를 업데이트 하려고 했는데 고유키 값은 분명 중복이 되지 않는 것을 확인했지만 업..
기본적으로 배열에서 원하는 값을 찾기 위해서 주로 =, >, =, Postgresql 에서는 배열의 값을 찾는 여러 배열 연산자가 있어 정리해보려고 한다. 내가 배열 연산자를 찾게된 이유는 Postgresql 에서 tstzrange 라는 컬럼 타입이 있는데 해당 컬럼은 2개의 timestamptz 값을 가지는 배열의 형태로 되어있다. 따라서 tstzrange 타입의 컬럼 값을 통해서 값을 찾기 위해서는 배열 연산자를 통해 원하는 값을 찾아야 하는데 찾아보니 종류가 생각보다 많아서 정리해보려고 한다. Equal Operator (=)배열이 같은지 비교하는 연산자select array[1, 2] = array[1, 2] as equal_operator, -- True array[1, 2] = array[2..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.