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

Kolom MySQL Auto Increment pada TRANSACTION, COMMIT, dan ROLLBACK

Tidak, mekanisme peningkatan otomatis harus bekerja di luar lingkup transaksi, karena pengguna lain mungkin memasukkan ke tabel yang sama sebelum Anda menyelesaikan transaksi Anda. Transaksi pengguna lain harus dapat mengalokasikan nilai berikutnya, sebelum mengetahui apakah transaksi Anda menggunakan nilai yang baru saja Anda alokasikan.

Kembali komentar Anda:Jika saya dapat mengatakannya dengan lebih jelas, setiap perubahan dalam ruang lingkup transaksi dapat dibatalkan. Penghitung kenaikan otomatis tidak dibatalkan, sehingga tidak mematuhi atomicity transaksi. Ia juga tidak mematuhi isolasi karena transaksi lain mendapatkan nilai berikutnya meskipun transaksi Anda belum dilakukan.

Cara kerja peningkatan otomatis berarti bahwa terkadang, jika Anda memasukkan beberapa baris dan kemudian mengembalikan transaksi Anda, nilai yang Anda alokasikan dengan peningkatan otomatis akan hilang selamanya!

Tapi ini baik-baik saja. Nilai kunci utama harus unik, tetapi tidak harus berurutan. Dengan kata lain, itu bukan nomor baris, dan Anda tidak boleh menggunakannya seperti itu. Jadi, Anda tidak perlu mengurangi nilai yang dibuat oleh peningkatan otomatis.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL DATEDIFF() vs TIMESTAMPDIFF():Apa Bedanya?

  2. Sql migrasi Django untuk pemicu bersyarat

  3. Bagaimana Mengelola Database Anda dengan Adminer

  4. Ikon Wampserver tidak sepenuhnya hijau, layanan mysql tidak memulai?

  5. Dapatkan tahun ini, bulan ini dan hari ini di MySQL