Jika Anda ingin melakukan ini dalam satu pernyataan (terdengar seperti yang Anda inginkan), saya akan merekomendasikan menggunakan INSERT ... ON DUPLICATE KEY UPDATE
sintaks, sebagai berikut:
INSERT INTO table (id, someothervalue) VALUES (1, 'hi mom')
ON DUPLICATE KEY UPDATE someothervalue = 'hi mom';
INSERT
awal pernyataan akan dijalankan jika tidak ada catatan yang ada dengan nilai kunci yang ditentukan (baik kunci utama atau unik). Jika record sudah ada, berikut UPDATE
pernyataan (someothervalue = 3
) dijalankan.
Ini didukung di semua versi MySQL. Untuk info lebih lanjut, lihat halaman Manual Referensi MySQL untuk INSERT ... ON DUPLICATE KEY UPDATE