【发布时间】:2011-09-07 04:09:33
【问题描述】:
我在 Python 中遇到了一个准备好的语句,目前我无法解决。
应该执行的查询是例如:
SELECT md5 FROM software WHERE software_id IN (1, 2, 4)
所以我尝试执行这样的查询:
software_id_string = "(2, 3, 4)"
cursor.execute("SELECT md5 FROM software WHERE software_id IN %s",
software_id_string)
问题是字符串中添加了'' --> '(2, 3, 4)',所以查询将是:
SELECT md5 FROM software WHERE software_id IN ''(2, 3, 4)''
我也尝试过像这样重建脚本:
software_id_string = " 1 OR software_id = 2"
cursor.execute("SELECT md5 FROm software WHERE software_id = %s",
software_id_string)
这仅适用于将提交的第一个 id(在本例中为 1),因为 OR 部分不会作为 SQL 语句被插入...
是否有可能解决准备好的语句的问题?
【问题讨论】:
标签: python mysql sql prepared-statement