Bagaimana untuk Melarikan % Aksara dalam Pertanyaan MySQL Menggunakan Python?

Mary-Kate Olsen
Lepaskan: 2024-11-17 20:50:02
asal
455 orang telah melayarinya

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))
Salin selepas log masuk

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))
Salin selepas log masuk

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!

sumber:php.cn
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