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