Điều này đã được hỏi nhiều lần. Bạn có thể tìm thấy giải pháp khả thi tại đây: https://stackoverflow.com/a/6527838/552671
Giải pháp này yêu cầu cả UPDATE
và INSERT
.
UPDATE table SET field='C', field2='Z' WHERE id=3;
INSERT INTO table (id, field, field2)
SELECT 3, 'C', 'Z'
WHERE NOT EXISTS (SELECT 1 FROM table WHERE id=3);
Với Postgres 9.1, bạn có thể thực hiện điều đó bằng một truy vấn: https://stackoverflow.com/a/ 1109198/2873507