Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Melarikan Watak '%' dalam Pertanyaan MySQL daripada Python?

Bagaimana untuk Melarikan Watak '%' dalam Pertanyaan MySQL daripada Python?

Mary-Kate Olsen
Lepaskan: 2024-11-16 03:28:03
asal
946 orang telah melayarinya

How to Escape the '%' Character in MySQL Queries from Python?

Melepaskan % dalam Pertanyaan MySQL daripada Python

Apabila menggunakan perpustakaan MySQLdb Python, menghadapi pengecualian "ValueError: aksara format tidak disokong" semasa melaksanakan pertanyaan dengan aksara "%" boleh mengecewakan. Ini kerana MySQL menganggap aksara "%" sebagai kad bebas dan mentafsirkannya sebagai sebahagian daripada pertanyaan dan bukannya sebagai literal.

Untuk menyelesaikan isu ini, dokumentasi mengesyorkan agar tidak menggunakan tanda "%" literal dalam rentetan pertanyaan diluluskan untuk melaksanakan(). Dengan menggunakan % berganda (%%), MySQL akan mengenali "%" sebagai aksara literal dan bukannya kad bebas.

Sebagai contoh, pertanyaan dalam soalan asal boleh diubah suai seperti 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))
Salin selepas log masuk

Dengan melepaskan tanda "%" literal, MySQL kini akan mengenali "Y" dan "m" sebagai aksara tertentu dalam rentetan DATE_FORMAT dan ralat akan menjadi dielakkan.

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

Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan