我需要用python向mysql传递一批参数。这是我的代码:
sql = """ SELECT * from my_table WHERE name IN (%s) AND id=%(Id)s AND puid=%(Puid)s"""
params = {'Id':id,'Puid' : pid}
in_p=', '.join(list(map(lambda x: '%s', names)))
sql = sql %in_p
cursor.execute(sql, names) #todo: add params to sql clause
问题是我想将名称列表传递给sqlin子句,同时我还想将id和puid作为参数传递给sql query子句。如何在python中实现这些功能?在
考虑您想要的
cursor.execute
的参数。你想最终执行你怎么去的?棘手的部分是在
^{pr2}$IN
子句中获得%s
的变量号。解决方案,正如您可能在this answer中看到的那样,是动态地构建它并%格式化为字符串。在但这行不通。你会得到:
看起来Python对第二个
%s
感到困惑,您不想替换它们。解决方案是通过转义%
,告诉Python以不同的方式处理这些%s
:最后,要构建参数并执行查询:
这对你有帮助。在
相关问题 更多 >
编程相关推荐