Meloloskan diri % dalam Pertanyaan MySQL daripada Python
Apabila melaksanakan pertanyaan MySQL yang mengandungi % aksara dalam Python, anda mungkin menghadapi ralat disebabkan kepada kepentingan istimewanya sebagai penentu format. Untuk mengelakkan perkara ini, anda perlu melepaskan % aksara untuk menunjukkan bahawa ia harus dianggap sebagai literal.
Penyelesaian: Melarikan Diri Secara Literal
Pendekatan yang disyorkan untuk melarikan diri % menggunakan pelarian literal seperti yang diterangkan dalam dokumentasi MySQL. Ini melibatkan menggandakan % aksara, iaitu menggantikan % dengan %%.
Sebagai contoh, pertimbangkan pertanyaan berikut:
query = """SELECT DATE_FORMAT(date_time,'%%Y-%%m') AS dd FROM some_table WHERE some_col = %s AND other_col = %s;"""
Dengan melarikan % aksara dalam rentetan format tarikh, kami dengan berkesan beritahu MySQL untuk mengabaikannya dan menganggapnya sebagai aksara literal. Apabila anda melaksanakan pertanyaan ini, ia akan menghasilkan hasil yang diingini tanpa mencetuskan ralat penentu format.
Atas ialah kandungan terperinci Bagaimana untuk Melarikan Diri % Aksara dalam Pertanyaan MySQL daripada Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!