← Database & SQL71 / 83
Penanganan Upsert (Insert or Update)
Operasi Upsert menyisipkan data baru atau memperbarui jika primary key sudah ada. PostgreSQL menggunakan ON CONFLICT (...) DO UPDATE, sedangkan MySQL menggunakan ON DUPLICATE KEY UPDATE.
👀 Contoh dulu
-- PostgreSQL: INSERT INTO stats (id, views) VALUES (1, 1) ON CONFLICT (id) DO UPDATE SET views = stats.views + 1; -- MySQL: INSERT INTO stats (id, views) VALUES (1, 1) ON DUPLICATE KEY UPDATE views = views + 1;
Hasilnya: Data baru disisipkan atau nilai views di-increment otomatis.
💡 Pola paling umum untuk penanganan kaunter atau caching database.
📝 Sekarang giliranmu
Tulis klausa PostgreSQL ON CONFLICT pada kolom 'email' yang melakukan DO UPDATE SET 'updated_at = NOW()'.
Preview