MariaDB - Transaksi
Transaksi adalah operasi grup yang berurutan. Mereka berfungsi sebagai satu unit, dan tidak berhenti sampai semua operasi dalam grup berhasil dijalankan. Kegagalan tunggal dalam grup menyebabkan seluruh transaksi gagal, dan menyebabkannya tidak berdampak pada database.
Transaksi sesuai dengan ACID (Atomicity, Consistency, Isolation, and Durability) -
Atomicity - Ini memastikan keberhasilan semua operasi dengan membatalkan kegagalan dan mengembalikan perubahan.
Consistency - Ini memastikan database menerapkan perubahan pada transaksi yang berhasil.
Isolation - Ini memungkinkan operasi transaksi transaksi independen.
Durability - Ini memastikan kelangsungan transaksi yang berhasil jika terjadi kegagalan sistem.
Di bagian atas pernyataan transaksi adalah pernyataan MULAI TRANSAKSI diikuti oleh pernyataan COMMIT dan ROLLBACK -
MULAI TRANSAKSI memulai transaksi.
COMMIT menyimpan perubahan pada data.
ROLLBACK mengakhiri transaksi, menghancurkan semua perubahan.
Pada transaksi yang berhasil, COMMIT bertindak. Jika gagal, ROLLBACK bertindak.
Note- Beberapa pernyataan menyebabkan komit implisit, dan juga menyebabkan kesalahan saat digunakan dalam transaksi. Contoh dari pernyataan tersebut termasuk, tetapi tidak terbatas pada CREATE, ALTER, dan DROP.
Transaksi MariaDB juga menyertakan opsi seperti SAVEPOINT dan LOCK TABLES. SAVEPOINT menetapkan titik pemulihan untuk digunakan dengan ROLLBACK. LOCK TABLES memungkinkan pengontrolan akses ke tabel selama sesi untuk mencegah modifikasi selama periode waktu tertentu.
Variabel AUTOCOMMIT memberikan kontrol atas transaksi. Pengaturan 1 memaksa semua operasi dianggap transaksi yang berhasil, dan pengaturan 0 menyebabkan persistensi perubahan hanya terjadi pada pernyataan COMMIT eksplisit.
Struktur Transaksi
Struktur umum laporan transaksi terdiri dari dimulai dengan MULAI TRANSAKSI. Langkah selanjutnya adalah memasukkan satu atau lebih perintah / operasi, memasukkan pernyataan yang memeriksa kesalahan, memasukkan pernyataan ROLLBACK untuk mengelola kesalahan yang ditemukan dan akhirnya memasukkan pernyataan COMMIT untuk menerapkan perubahan pada operasi yang berhasil.
Tinjau contoh yang diberikan di bawah ini -
START TRANSACTION;
SELECT name FROM products WHERE manufacturer = 'XYZ Corp';
UPDATE spring_products SET item = name;
COMMIT;