Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Melarikan % Aksara dalam Pertanyaan MySQL Menggunakan Python?

Bagaimana untuk Melarikan % Aksara dalam Pertanyaan MySQL Menggunakan Python?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-17 20:50:02515semak imbas

How to Escape the % Character in MySQL Queries Using Python?

Melepaskan % daripada Pertanyaan MySQL dalam Python

Menggunakan aksara % dalam pertanyaan MySQL boleh membawa kepada pengecualian jika tidak dilepaskan dengan betul. Sebagai contoh, pertanyaan berikut:

query = """SELECT DATE_FORMAT(date_time,'%Y-%m') AS dd
FROM some_table
WHERE some_col = %s
AND other_col = %s;"""

cur.execute(query, (pram1, pram2))

akan menimbulkan pengecualian "ValueError: aksara format tidak disokong 'Y'" kerana mysqldb mentafsir % sebagai penentu format.

Untuk menyelesaikan isu ini , melarikan diri secara literal disyorkan oleh dokumentasi mysqldb. Ini melibatkan penggandaan % aksara dalam rentetan pertanyaan:

query = """SELECT DATE_FORMAT(date_time,'%%Y-%%m') AS dd
FROM some_table
WHERE some_col = %s
AND other_col = %s;"""

cur.execute(query, (pram1, pram2))

Ini akan menghalang mysqldb daripada mentafsir % aksara sebagai penentu format, membenarkan pertanyaan untuk dilaksanakan dengan jayanya.

Atas ialah kandungan terperinci Bagaimana untuk Melarikan % Aksara dalam Pertanyaan MySQL Menggunakan Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn