Mendayakan Penyambungan Auto Pelanggan MySQL dengan MySQLdb
Dalam MySQLdb, sambungan berterusan tidak didayakan secara lalai. Ini bermakna jika sambungan ke pangkalan data MySQL hilang, pelanggan perlu mewujudkan semula sambungan secara manual.
Kaedah PHP
Dalam PHP, MySQLdb menyediakan fungsi mysql_options() untuk membolehkan penyambungan semula automatik. Dengan menetapkan pilihan MYSQL_OPT_RECONNECT kepada benar, pelanggan akan cuba mewujudkan semula sambungan secara automatik sekiranya berlaku kehilangan sambungan.
Kaedah MySQLdb
Dalam Python, MySQLdb melakukannya tidak mempunyai persamaan langsung mysql_options(). Walau bagaimanapun, adalah mungkin untuk melaksanakan penyambungan semula automatik menggunakan fungsi tersuai yang membalut kaedah cursor.execute(). Soalan asal mencadangkan bahawa kaedah conn.cursor() membuang pengecualian apabila sambungan terputus.
Penyelesaian
Penyelesaian yang disediakan menangani isu ini dengan mencipta pembungkus fungsi dipanggil query(). Fungsi ini cuba melaksanakan pertanyaan SQL menggunakan kaedah cursor.execute(). Jika ralat berlaku disebabkan sambungan terputus, fungsi query() mewujudkan semula sambungan dan mencuba semula pelaksanaan.
Pelaksanaan
Kod Python yang disediakan menunjukkan cara untuk melaksanakan fungsi query() dan menggunakannya untuk mewujudkan dan mengekalkan sambungan berterusan ke pangkalan data MySQL. Walaupun selepas tamat masa yang lama, sambungan masih aktif dan membenarkan pertanyaan lanjut dilaksanakan.
Kesimpulan
Dengan memanfaatkan fungsi pembalut pertanyaan(), ia menjadi mungkin untuk mendayakan sambungan semula automatik dalam MySQLdb, memastikan pelanggan boleh pulih secara automatik daripada sambungan yang hilang.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Penyambungan Semula Auto dalam MySQLdb untuk Sambungan Berterusan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!