Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk Melarikan Diri % Aksara dalam Pertanyaan MySQL dari Python?

Bagaimana untuk Melarikan Diri % Aksara dalam Pertanyaan MySQL dari Python?

Susan Sarandon
Susan Sarandonasal
2024-11-14 13:58:02913semak imbas

How to Escape % Characters in MySQL Queries from Python?

Melepaskan % dalam Pertanyaan MySQL daripada Python

Apabila mencipta pertanyaan MySQL dalam Python, anda mungkin menghadapi senario di mana anda perlu mengelakkan suntikan SQL atau mengendalikan aksara khas dengan betul seperti tanda peratusan (%); jika tidak, anda mungkin menghadapi ralat. Artikel ini menyediakan penyelesaian untuk melepaskan % aksara dalam pertanyaan MySQL Python.

Untuk menyelesaikan pengecualian "aksara format 'Y'" yang tidak disokong, anda perlu melepaskan tanda peratusan (%) dalam rentetan pertanyaan. Menurut dokumentasi MySQL, pelarian literal disyorkan, dicapai dengan menggantikan setiap % dengan tanda peratusan berganda (%%).

Berikut ialah coretan kod yang dikemas kini yang melaksanakan pendekatan ini:

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

cur.execute(query, (param1, param2))

Dengan mengikut pengesyoran ini, MySQL akan mentafsir %% sebagai tanda peratusan literal, menghalangnya daripada mengganggu pemformatan pertanyaan. Ini akan menyelesaikan pengecualian yang anda temui dan membenarkan pertanyaan anda dilaksanakan dengan jayanya.

Atas ialah kandungan terperinci Bagaimana untuk Melarikan Diri % Aksara dalam Pertanyaan MySQL dari 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