从 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中文网其他相关文章!