Transaction adalah sekumpulan perintah SQL yang dijalankan sebagai satu kesatuan proses. Dalam transaction, semua perintah harus berhasil agar perubahan disimpan ke database. Jika salah satu perintah gagal, seluruh proses dapat dibatalkan.
Transaction sangat penting pada sistem yang membutuhkan konsistensi data, seperti:
- Sistem perbankan
- Aplikasi keuangan
- Sistem pemesanan
- Sistem akademik
Contents
2. START TRANSACTION
Perintah START TRANSACTION digunakan untuk memulai sebuah transaksi.
Contoh:
START TRANSACTION;
Setelah perintah ini dijalankan, setiap perubahan data belum tersimpan secara permanen sampai dilakukan COMMIT.
3. COMMIT
COMMIT digunakan untuk menyimpan seluruh perubahan data secara permanen ke database.
Contoh:
COMMIT;
Jika semua perintah dalam transaction berhasil, gunakan COMMIT agar data tersimpan.
4. ROLLBACK
ROLLBACK digunakan untuk membatalkan seluruh perubahan yang terjadi selama transaction berlangsung.
Contoh:
ROLLBACK;
Perintah ini mengembalikan data ke kondisi sebelum transaction dimulai.
5. Contoh Penggunaan Transaction
START TRANSACTION;
INSERT INTO rekening (nama, saldo)
VALUES ('Andi', 1000000);
UPDATE rekening
SET saldo = saldo - 500000
WHERE nama = 'Andi';
ROLLBACK;
Jika ingin menyimpan perubahan:
COMMIT;
6. Konsep ACID
ACID adalah prinsip utama dalam transaction database untuk menjamin keandalan data.
a. Atomicity
Semua perintah dalam transaction harus berhasil seluruhnya atau gagal seluruhnya.
b. Consistency
Transaction membawa database dari satu kondisi valid ke kondisi valid lainnya.
c. Isolation
Transaction yang berjalan bersamaan tidak saling mengganggu.
d. Durability
Perubahan data yang sudah di-COMMIT tidak akan hilang meskipun terjadi kegagalan sistem.
7. Transaction dan Storage Engine
⚠ Catatan Penting:
Transaction hanya berjalan dengan baik pada storage engine seperti InnoDB. Engine seperti MyISAM tidak mendukung transaction.
Kesimpulan
Transaction adalah mekanisme penting dalam MySQL untuk menjaga konsistensi dan keandalan data. Dengan memahami START TRANSACTION, COMMIT, ROLLBACK, serta konsep ACID, pengguna dapat membangun sistem database yang aman dan profesional, terutama untuk aplikasi berskala besar.