본문 바로가기

Programming/postgreSQL

postgreSQL upsert insert update

728x90
INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...)
ON CONFLICT (conflict_column)
DO NOTHING | DO UPDATE SET column1 = value1, column2 = value2, ...

INSERT INTO ITEM (ID, NAME, PRICE)
VALUES (1, 'Water', 600)
  , (2, 'Ice Cream', 1100)
ON CONFLICT(ID)
DO UPDATE SET PRICE = EXCLUDED.PRICE

ON CONFLICT(ID)

충돌하면 아래 구문 실행

DO NOTHING

아무것도 안 함

DO UPDATE

업데이트 함

EXCLUDED

충돌돼서 제외된 행

728x90