L O A D I N G
Profile image
  • Name

    Yudana
  • Title

    Website Developer
  • Phone

    -
  • Email

    me@yudana.com
  • Date of birth

    -
  • Age

    -
  • Residence

    Bali
  • Freelance Work

blog banner

Tutorial Membuat Transaction Dengan MySQL

MySQL
Share

Transaction adalah fitur sistem manajemen basis data (DBMS) yang membantu pemulihan data pada kesalahan internal. Transaction pada basis data adalah kumpulan kueri yang harus dieksekusi sehingga jika salah satu eksekusi kueri gagal, eksekusi kueri Anda akan kembali ke awal. Transaction adalah mekanisme yang memungkinkan untuk menginterpretasikan beberapa perubahan pada database dengan satu operasi.

MySQL mendukung beberapa mesin penyimpanan. InnoDB sepenuhnya sesuai ACID. ACID adalah singkatan dari Atomicity, Consistency, Isolasi dan Durability. Transaction yang andal harus mendukung keempat properti ini.

Di MySQL, transaction dimulai dengan pernyataan BEGIN WORK dan diakhiri dengan pernyataan COMMIT atau ROLLBACK. Perintah SQL antara pernyataan awal dan akhir membentuk sebagian besar transaction.

Ketika transaction berhasil diselesaikan, perintah COMMIT harus dilakukan sehingga perubahan pada semua tabel yang terlibat akan berlaku.

Jika kegagalan terjadi, perintah ROLLBACK harus dilakukan untuk mengembalikan setiap tabel yang direferensikan dalam transaction ke keadaan sebelumnya.

Anda dapat mengontrol perilaku transaction dengan menetapkan variabel sesi yang disebut AUTOCOMMIT. Jika AUTOCOMMIT diatur ke 1 (default), maka setiap pernyataan SQL (dalam suatu transaction atau tidak) dianggap sebagai transaction yang lengkap dan dilakukan secara default ketika selesai.

Ketika AUTOCOMMIT diatur ke 0, dengan mengeluarkan perintah SET AUTOCOMMIT = 0, rangkaian pernyataan selanjutnya bertindak seperti transaction dan tidak ada aktivitas yang dilakukan sampai transaction pernyataan COMMIT yang eksplisit dilakukan.

Berikut ini tutorial sederhana menggunakan transaction.

Buat table tb_product 

Kemudian coba tambahkan 1 record, misalnya

Buat table tb_purchase

Kemudian tambahkan foreign key di tb_purchase

Query berikut ini akan menyimpan semua perintah untuk 2 table yang telah kita buat sebelumnya.

Setelah mengeksekusi query di atas, kita bisa lihat di database ada penambahan record di table tb_purchase dan kemudian ada update record tb_product.

Jika ada sesuatu hal atau kegagalan dalam sistem, kita bisa menggunakan perintah ROLLBACK untuk mengembalikan ke situasi semula sebelum query di eksekusi, contoh query-nya.

Untuk query di atas, sebenarnya perintah insert dan update sudah siap untuk di eksekusi. Karena adanya perintah ROLLBACK, maka dua perintah tersebut tidak dieksekusi dan table dalam database kembali ke keadaan semula.

Untuk tutorial MySQL lainnya, silakan klik di sini.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *