首頁  >  文章  >  資料庫  >  如何使用 Python 轉義 MySQL 查詢中的 % 字元?

如何使用 Python 轉義 MySQL 查詢中的 % 字元?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-17 20:50:02455瀏覽

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

在Python 中從MySQL 查詢中轉義%

如果未正確轉義,在MySQL 查詢中使用% 字元可能會導致異常。例如,以下查詢:

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))

將引發「ValueError:不支援的格式字元'Y'」異常,因為 mysqldb 將 % 解釋為格式說明符。

解決此問題, 文字轉義 是 mysqldb 文件推薦的。這涉及在查詢字串中加倍 % 字元:

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))

這將阻止 mysqldb 將 % 字元解釋為格式說明符,從而允許查詢成功執行。

以上是如何使用 Python 轉義 MySQL 查詢中的 % 字元?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn