Ruang penulis
← Kembali ke jurnal
Database

Transaksi database: menjaga perubahan tetap utuh

Kenali commit dan rollback melalui contoh pemindahan stok antar lokasi.

DTim Diary Coding · 11 Sep 2026 · 1 menit baca

Satu operasi, beberapa perubahan

Memindahkan stok berarti mengurangi jumlah di lokasi asal dan menambah jumlah di tujuan. Jika hanya satu perubahan berhasil, catatan persediaan menjadi tidak konsisten.

START TRANSACTION;

UPDATE inventory SET quantity = quantity - 2
WHERE id = 1 AND quantity >= 2;

-- Aplikasi harus memastikan tepat satu baris berubah.
UPDATE inventory SET quantity = quantity + 2
WHERE id = 2;

-- COMMIT hanya bila kedua perubahan memenuhi aturan.
COMMIT;

Periksa hasil, bukan hanya kesalahan

Query yang mengubah nol baris belum tentu menimbulkan kesalahan SQL. Aplikasi harus memeriksa jumlah baris yang berubah dan menjalankan ROLLBACK jika stok asal kurang atau lokasi tujuan tidak ditemukan.

Gunakan mesin yang mendukung transaksi

Untuk MySQL, tabel InnoDB mendukung transaksi. Pastikan seluruh tabel yang terlibat memakai mesin yang sesuai.

Pertimbangkan konkurensi

Permintaan bersamaan dapat memengaruhi data yang sama. Kunci baris dan urutan pembaruan yang konsisten membantu mengelola perubahan tersebut; aplikasi juga perlu menangani deadlock dengan percobaan ulang yang terbatas.

← Jelajahi catatan lainnya