首頁 >資料庫 >mysql教程 >如何從 Python 轉義 MySQL 查詢中的「%」字元?

如何從 Python 轉義 MySQL 查詢中的「%」字元?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-16 03:28:03900瀏覽

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

從Python 轉義MySQL 查詢中的%

使用Python 的MySQLdb 函式庫時,執行時遇到「ValueError: 不支援的格式字元」異常帶有「%」字元的查詢可能會令人沮喪。這是因為 MySQL 將「%​​」字元視為通配符,並將其解釋為查詢的一部分而不是文字。

要解決此問題,文件建議轉義文字中的「%」符號查詢字串傳遞給execute()。透過使用雙% (%%),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))

透過轉義「%」符號,MySQL 現在會將「Y」和「m」識別為DATE_FORMAT 字串中的特定字符,從而避免錯誤。

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

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