Transaksi menyediakan empat ciri asas yang dikenali sebagai ACID (Atomicity, Consistency, Isolation, and Durability). Mereka memastikan bahawa operasi pangkalan data, walaupun dilaksanakan secara berperingkat, digunakan dengan selamat dan tanpa konflik daripada sambungan lain apabila dilakukan.
Persoalan yang dikemukakan berkaitan dengan potensi gangguan dua yang dijalankan serentak Skrip PHP, kedua-duanya melaksanakan transaksi. Untuk memahami perkara ini, mari kita pertimbangkan senario hipotetikal berikut:
id | name | salary |
---|---|---|
1 | ana | 10000 |
Dua skrip, skrip1.php dan skrip2.php , dengan logik transaksi yang sama, dilaksanakan secara serentak. Urutan transaksi adalah seperti berikut:
Bergantung pada tetapan tahap pengasingan pangkalan data, gaji yang terhasil untuk Ana boleh sama ada 11000 atau 12000.
Tingkah laku transaksi serentak bergantung pada tahap pengasingan yang dipilih dan penyekatan/bukan- menyekat bacaan. Pengasingan SERIALIZABLE dengan autocommit dimatikan menjamin pelaksanaan transaksi bebas, menghasilkan gaji akhir 12000. Tahap pengasingan lain dan SERIALIZABLE dengan autocommit didayakan membolehkan transaksi bertindih, membawa kepada gaji akhir 11000. Memahami konsep ini adalah penting untuk mereka bentuk pangkalan data yang menyokong berbilang sambungan serentak dengan cekap.
Atas ialah kandungan terperinci Bagaimanakah Transaksi Serentak Mempengaruhi Ketekalan Data dalam PDO MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!