Rumah > Artikel > pangkalan data > Bolehkah Pemeriksaan Integriti Rujukan Ditangguhkan Sehingga Komit dalam MySQL?
Bolehkah Semakan Integriti Rujukan Ditunda Sehingga Komit dalam MySQL?
Dalam MySQL, semakan integriti rujukan dilakukan serta-merta, tidak ditangguhkan sehingga komit transaksi . Had ini, seperti yang diserlahkan dalam dokumentasi MySQL, menghalang operasi tertentu, seperti memadam rekod yang merujuk kepada dirinya sendiri menggunakan kunci asing.
Persoalan untuk menangguhkan semakan integriti rujukan telah dibangkitkan sebelum ini, seperti yang dilihat dalam merujuk soalan PoEAA. Masalah timbul apabila memasukkan data ke dalam beberapa jadual berkaitan dalam satu transaksi. Ralat kekangan boleh berlaku apabila cuba memasukkan ke dalam jadual gabungan disebabkan oleh semakan integriti rujukan segera.
Mengikut standard SQL, semakan kekangan harus ditangguhkan. Walau bagaimanapun, InnoDB, enjin storan lalai dalam MySQL, pada masa ini menguatkuasakannya baris demi baris semasa penyataan SQL. Ini bermakna ia menetapkan kunci peringkat baris dikongsi pada rekod rujukan atau induk, menghalang transaksi daripada diteruskan.
Oleh itu, dalam MySQL dengan InnoDB sebagai enjin storan, menangguhkan semakan integriti rujukan sehingga komit tidak dapat dilakukan pada masa ini. Had ini menimbulkan cabaran untuk operasi pangkalan data tertentu dan memerlukan pertimbangan yang teliti semasa mereka bentuk skema pangkalan data.
Atas ialah kandungan terperinci Bolehkah Pemeriksaan Integriti Rujukan Ditangguhkan Sehingga Komit dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!