Latest web development tutorials

transaksi SQLite

Transaksi (Transaksi) adalah unit kerja pada database. Transaksi (Transaksi) adalah urutan logis dari kerja atau urutan lengkap, yang bisa dilakukan oleh pengguna secara manual, hal itu dapat dilakukan secara otomatis oleh beberapa jenis program database.

Transaksi (Transaksi) mengacu pada satu atau lebih perubahan untuk memperluas database. Misalnya, jika Anda membuat catatan atau update record atau menghapus catatan dari meja, Anda melakukan transaksi di atas meja. Hal ini penting untuk mengontrol transaksi untuk memastikan integritas data dan menangani kesalahan database.

Bahkan, Anda dapat menempatkan banyak SQLite permintaan federasi sebagai sebuah kelompok, mereka semua disatukan sebagai bagian dari transaksi untuk eksekusi.

transaksi properti

Transaksi (Transaksi) standar memiliki empat sifat berikut, biasanya didasarkan pada Akronim ACID:

  • Atomicity (Atomicity): untuk memastikan bahwa semua unit kerja dalam operasi selesai dengan sukses, jika tidak, transaksi akan dihentikan jika terjadi kesalahan, sebelum operasi akan digulung kembali ke keadaan sebelumnya.

  • Konsistensi (Consistency): Pastikan status perubahan database yang benar di transaksi berhasil dikirim.

  • Isolasi (isolasi): transaksi untuk beroperasi secara independen dan transparan.

  • Persistent (Durability): untuk memastikan bahwa transaksi tersebut telah disampaikan hasil atau efek dalam hal kegagalan sistem masih ada.

Kontrol transaksi

Gunakan perintah berikut untuk mengontrol transaksi:

  • BEGIN TRANSAKSI: memulai transaksi.

  • COMMIT: Simpan perubahan, atau Anda dapat menggunakan perintah END TRANSACTION.

  • ROLLBACK: memutar kembali perubahan.

perintah kontrol transaksi hanya dengan DML perintah INSERT, UPDATE, dan DELETE bersama-sama. Ketika mereka tidak bisa membuat atau menghapus tabel menggunakan tabel, karena operasi ini dalam database secara otomatis dilakukan.

BEGIN perintah TRANSAKSI

Transaksi (Transaksi) Anda dapat menggunakan BEGIN TRANSACTION perintah atau sederhana BEGIN perintah untuk memulai. Transaksi tersebut biasanya eksekusi terakhir terus, sampai COMMIT atau ROLLBACK perintah selanjutnya. Namun, ketika database tertutup atau terjadi kesalahan, transaksi akan dibatalkan. Berikut ini adalah awal dari transaksi sintaks yang sederhana:

BEGIN;

atau 

BEGIN TRANSACTION;

COMMIT perintah

COMMIT perintah yang digunakan untuk menyimpan perubahan ke database transaksi perintah transaksi panggilan.

COMMIT perintah untuk menyimpan semua transaksi sejak terakhir COMMIT atau ROLLBACK perintah ke database.

COMMIT sintaks perintah adalah sebagai berikut:

COMMIT;

atau

END TRANSACTION;

perintah ROLLBACK

perintah ROLLBACK adalah perintah untuk membatalkan transaksi belum disimpan ke database transaksi.

perintah ROLLBACK dapat digunakan untuk membatalkan transaksi sejak terakhir COMMIT atau ROLLBACK perintah yang dikeluarkan sejak.

perintah sintaks ROLLBACK adalah sebagai berikut:

ROLLBACK;

contoh

meja PERUSAHAAN Misalkan memiliki catatan berikut:

ID NAMA UMUR ALAMAT GAJI
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20.000,0
2 Allen 25 Texas 15.000,0
3 Teddy 23 Norwegia 20.000,0
4 Mark 25 Rich-Mond 65.000,0
5 David 27 Texas 85.000,0
6 Kim 22 South-Hall 45.000,0
7 James 24 Houston 10.000,0

Sekarang, mari kita mulai transaksi, dan menghapus catatan dari usia meja = 25, dan akhirnya, kita menggunakan perintah ROLLBACK untuk membatalkan semua perubahan.

sqlite> BEGIN;
sqlite> DELETE DARI PERUSAHAAN MANA AGE = 25;
sqlite> ROLLBACK;

Memeriksa meja PERUSAHAAN, masih memiliki catatan berikut:

ID NAMA UMUR ALAMAT GAJI
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20.000,0
2 Allen 25 Texas 15.000,0
3 Teddy 23 Norwegia 20.000,0
4 Mark 25 Rich-Mond 65.000,0
5 David 27 Texas 85.000,0
6 Kim 22 South-Hall 45.000,0
7 James 24 Houston 10.000,0

Sekarang, mari kita mulai transaksi lain, menghapus catatan dari usia meja = 25, dan akhirnya kami menggunakan COMMIT perintah untuk melakukan semua perubahan.

sqlite> BEGIN;
sqlite> DELETE DARI PERUSAHAAN MANA AGE = 25;
sqlite> COMMIT;

Periksa meja PERUSAHAAN, catatan berikut:

ID NAMA UMUR ALAMAT GAJI
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20.000,0
3 Teddy 23 Norwegia 20.000,0
5 David 27 Texas 85.000,0
6 Kim 22 South-Hall 45.000,0
7 James 24 Houston 10.000,0