首页 >数据库 >mysql教程 >如何从 Python 中转义 MySQL 查询中的'%”字符?

如何从 Python 中转义 MySQL 查询中的'%”字符?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-16 03:28:03937浏览

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