Cơ BảnPostgreSQL iconPostgreSQL

`UPSERT` trong PostgreSQL dùng như thế nào?

UPSERT dùng INSERT ... ON CONFLICT để insert nếu chưa có, hoặc update/do nothing nếu vi phạm unique constraint/index.

Ví dụ:

sql
INSERT INTO users (email, name)
VALUES ('a@example.com', 'Ada')
ON CONFLICT (email) DO UPDATE
SET name = EXCLUDED.name;

UPSERT cần conflict target rõ ràng.

Với logic phức tạp, chú ý race condition, trigger side effects và updated_at semantics.

Xem toàn bộ PostgreSQL cùng filter theo level & chủ đề con.

Mở danh sách PostgreSQL