Mengunci Baris dengan FOR UPDATE

Klausul FOR UPDATE memasang Exclusive Lock pada baris yang dipilih di dalam transaksi InnoDB, mencegah transaksi lain mengubah baris tersebut sampai transaksi selesai.

👀 Contoh dulu

START TRANSACTION;
SELECT * FROM accounts WHERE id = 1 FOR UPDATE;
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
COMMIT;

Hasilnya: Pembaruan saldo rekening aman dari kondisi race condition.

💡 Penting untuk transaksi finansial dan sistem tiket.

📝 Sekarang giliranmu

Tulis query SELECT memilih seluruh kolom dari tabel 'inventory' di mana 'product_id = 10' menggunakan penguncian transaksi FOR UPDATE.

Preview