從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中文網其他相關文章!