Fungsi commit pada mysql

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.

Di MySQL, transaction dimulai dengan pernyataan START TRANSACTION dan diakhiri dengan pernyataan COMMIT atau ROLLBACK, serta dapat mengatur SET autocommit menjadi ya atau tidak.

  • START TRANSACTION memulai sebuah transaction baru.
  • COMMIT perintah COMMIT digunakan untuk menyimpan transaksi secara permanen di database.
  • ROLLBACK Perintah ROLLBACK digunakan untuk mengembalikan database ke bentuk awal.
  • SET autocommit menonaktifkan atau mengaktifkan mode COMMIT otomatis pada sesi saat ini.

Cara Menggunakan Perintah COMMIT MySQL

Perintah COMMIT digunakan untuk menyimpan transaksi secara permanen di database.

Dengan menggunakan TRANSACTION saat melakukan perintah seperti INSERT, UPDATE, DELETE maka traksaksi sebenarnya belum dilakukan secara permanen. Artinya operasi tersebut masih bisa di rollback / di batalkan.

Kapan perintah COMMIT dibutuhkan?

Dalam sebuah rangkaian operasi data, jika ada 1 atau lebih operasi yang mengalami kegagalan maka kita akan mengembalikan seperti ke bentuk semula. Jika tidak ada kesalahan maka seluruh rangkaian pernyataan akan di – COMMIT untuk menyimpan transaksi secara permanen.

Sekarang kita uji coba pada tabel pegawai berikut ini:

INSERT INTO pegawai 
VALUES 
[93032000,"arie","Payakumbuh Utara"],
[93032100,"alid","Payakumbuh Selatan"],
[93032200,"halwa","Payakumbuh Barat"],
[93032300,"aldam","Payakumbuh Timur"];

Selanjutnya kita cek data pegawai yang telah diinputkan:

> SELECT * FROM pegawai;
+----------+-------+--------------------+
| nip      | nama  | alamat             |
+----------+-------+--------------------+
| 93032000 | arie  | Payakumbuh Utara   |
| 93032100 | alid  | Payakumbuh Selatan |
| 93032100 | halwa | Payakumbuh Barat   |
| 93032300 | aldam | Payakumbuh Timur   |
+----------+-------+--------------------+
4 rows in set [0.00 sec]

Untuk memulai menggunakan COMMIT harus dimulai dengan START TRANSACTON

> START TRANSACTION;
Query OK, 0 rows affected [0.00 sec]

> INSERT INTO pegawai VALUES [93032400,"cesa","Payakumbuh Tengah"];
Query OK, 1 row affected [0.00 sec]

> COMMIT;
Query OK, 0 rows affected [0.07 sec]

> SELECT * FROM pegawai;
+----------+-------+--------------------+
| nip      | nama  | alamat             |
+----------+-------+--------------------+
| 93032000 | arie  | Payakumbuh Utara   |
| 93032100 | alid  | Payakumbuh Selatan |
| 93032100 | halwa | Payakumbuh Barat   |
| 93032300 | aldam | Payakumbuh Timur   |
| 93032400 | cesa  | Payakumbuh Tengah  |
+----------+-------+--------------------+
5 rows in set [0.00 sec]

Maka data pegawai sudah tersimpan secara permanen dan tidak dapat di ROLLBACK / dibatalkan.

Cara Menggunakan Perintah ROLLBACK MySQL

Perintah COMMIT dan ROLLBACK saling berkaitan. Perintah ROLLBACK digunakan untuk mengembalikan data pada database ke bentuk awal.

Kapan perintah ROLLBACK dibutuhkan?

Dalam sebuah rangkaian operasi data, jika ada 1 atau lebih operasi yang mengalami kegagalan maka kita akan mengembalikan seperti ke bentuk semula menggunakan perintah ROLLBACK.

Untuk menggunakan COMMIT / ROLLBACK harus dimulai dengan START TRANSACTON

> START TRANSACTION;
Query OK, 0 rows affected [0.00 sec]

> SELECT * FROM pegawai;
+----------+-------+--------------------+
| nip      | nama  | alamat             |
+----------+-------+--------------------+
| 93032000 | arie  | Payakumbuh Utara   |
| 93032100 | alid  | Payakumbuh Selatan |
| 93032100 | halwa | Payakumbuh Barat   |
| 93032300 | aldam | Payakumbuh Timur   |
| 93032400 | cesa  | Payakumbuh Tengah  |
+----------+-------+--------------------+
5 rows in set [0.00 sec]

> DELETE FROM pegawai WHERE nip="93032400";
Query OK, 1 row affected [0.00 sec]

> SELECT * FROM pefawai;
+----------+-------+--------------------+
| nip      | nama  | alamat             |
+----------+-------+--------------------+
| 93032000 | arie  | Payakumbuh Utara   |
| 93032100 | alid  | Payakumbuh Selatan |
| 93032100 | halwa | Payakumbuh Barat   |
| 93032300 | aldam | Payakumbuh Timur   |
+----------+-------+--------------------+
4 rows in set [0.00 sec]

> ROLLBACK;
Query OK, 0 rows affected [0.11 sec]

> SELECT * FROM pegawai;
+----------+-------+--------------------+
| nip      | nama  | alamat             |
+----------+-------+--------------------+
| 93032000 | arie  | Payakumbuh Utara   |
| 93032100 | alid  | Payakumbuh Selatan |
| 93032100 | halwa | Payakumbuh Barat   |
| 93032300 | aldam | Payakumbuh Timur   |
| 93032400 | cesa  | Payakumbuh Tengah  |
+----------+-------+--------------------+
5 rows in set [0.00 sec]

Perhatikan query di atas, dengan menggunakan perintah ROLLBACK data pegawai yang sudah di hapus dapat dikembalikan.

Maka sampai disini kita telah berhasil belajar Cara menggunakan Perintah START TRANSACTION, COMMIT, dan ROLLBACK pada MySQL.

Baca Juga:
Install MySQL 8 Debian

Apakah fungsi dari perintah commit?

Dengan menggunakan COMMIT, kita dapat mengakhiri semua transaksi dan menjadikannya sebagai perubahan permanen.

Apa yang dimaksud dengan commit?

Arti kata "commit" Bahasa Inggris dalam Bahasa Indonesia. kkt. [committed] 1 melakukan. 2 menjalankan, berbuat. 3 memasukkan.

Apa itu MySQL transaction?

Transactions adalah sekelompok operasi sekuensial untuk memanipulasi data dalam database, yang dilakukan seolah-olah merupakan satu unit kerja tunggal. Dengan kata lain, transations akan berhasil jika setiap operasi individu dalam grup juga berhasil.

Apakah fungsi dari savepoint dalam transaction?

Sebuah savepoint adalah perintah di dalam transaksi Oracle yang memungkinkan semua perintah yang dijalankan setelah dibuat untuk di Rollback pada titik transaksi tertentu. Kita dapat membatalkan seluruh perubahan data DML yang masih menggantung dengan menggunakan statement ROLLBACK.

Bài mới nhất

Chủ Đề