Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Transaksi MySQL:komit dan kembalikan

1) Semua perubahan yang Anda buat terlihat dalam transaksi yang sama. Jika Anda melakukannya

START TRANSACTION;
INSERT INTO MyTable VALUES ('Hi there');
SELECT * FROM MyTable;

output Anda akan menyertakan 'Hai di sana'. Tetapi jika Anda memulai koneksi database kedua, baris baru tidak akan ditampilkan sampai Anda melakukan transaksi dari dalam koneksi pertama. Coba mainkan ini menggunakan dua koneksi database menggunakan baris perintah.

Anda tidak melihat efeknya di situs web Anda karena Anda tidak dapat memiliki transaksi yang sama dalam dua koneksi database (koneksi db baru akan dibuat di awal permintaan Anda).

2) Semua transaksi yang tidak dilakukan akan dibatalkan ketika koneksi dengan database ditutup. Jadi, jika ini hanya dua pertanyaan Anda, tidak ada perbedaan. Namun ada perbedaan antara

START TRANSACTION;
INSERT INTO MyTable VALUES ('This one would be discarded on rollback');
ROLLBACK;
INSERT INTO MyTable VALUES ('This one will be permanent because not within transaction');  

3) Ya, semuanya sama.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menghitung entri terkait dengan Sequelize

  2. Aturan keamanan warisan dilanggar berdasarkan jenis:'MySql.Data.Entity.MySqlEFConfiguration'

  3. Pertanyaan MySQL - Bagaimana menangani beberapa jenis pengguna - satu tabel atau beberapa?

  4. Cara Memilih Semuanya Sebelum/Setelah Karakter Tertentu di MySQL – SUBSTRING_INDEX()

  5. Pilih semua bulan dalam rentang tanggal tertentu, termasuk yang memiliki nilai 0