我在Python中有一个准备好的语句的问题我到目前为止无法解决.
应该执行的Query是例如:
SELECT md5 FROM software WHERE software_id IN (1, 2, 4)
Run Code Online (Sandbox Code Playgroud)
所以我尝试执行这样的查询:
software_id_string = "(2, 3, 4)"
cursor.execute("SELECT md5 FROM software WHERE software_id IN %s",
software_id_string)
Run Code Online (Sandbox Code Playgroud)
问题是有''添加到字符串 - >'(2,3,4)',因此查询将是:
SELECT md5 FROM software WHERE software_id IN ''(2, 3, 4)''
Run Code Online (Sandbox Code Playgroud)
我也试过像这样重建脚本:
software_id_string = " 1 OR software_id = 2"
cursor.execute("SELECT md5 FROm software WHERE software_id = %s",
software_id_string)
Run Code Online (Sandbox Code Playgroud)
这仅适用于将提交的第一个id(在本例中为1),因为OR部分不会作为SQL语句进行处理...
是否有可能用准备好的陈述来解决问题?