python-带通配符的MySQLdb Like运算符

时间:2018-08-24 08:44:56

标签: python mysql mysql-python

我在使用python的MySQLdb执行带有通配符的查询时遇到问题。

我的代码

sql = "SELECT COUNT(id) FROM table WHERE name LIKE '%s%'"
with con:
    cur.execute(sql, (name,))

这件事很复杂,是字符串%s后的%。根据文档,如果没有通配符%,我可以LIKE %s进行操作,但是我不知道如何从那里着手解决我的问题。

我在堆栈Python MySQL parameterized query conflicts with % wildcard in LIKE statement上发现了这个问题,该问题与我的问题相似,但是没有动态参数。我尝试像上面的链接一样转义通配符,但是仍然出现SQL语法错误。

有人知道吗?

谢谢

1 个答案:

答案 0 :(得分:0)

您应该将通配符放入参数中。

break;

请注意,您不应该在SQL内部为占位符使用引号;这些是由db-api添加的。