当我想要做IN
查询与MySQLdb
,我喜欢写东西更好的办法做到`IN`查询与Python MySQLdb的
ids = [1,2,3,4,5] # in most cases, this is passed in as a parameter
placeholder = ",".join(["%s"] % len(ids))
cursor.execute("SELECT * FROM a_table WHERE id IN (%s)" % placeholders,
ids)
这是非常麻烦无处不在重复这一点。
我已阅读MySQLdb的使用说明书,但未发现任何相关内容。
所以我想知道其他人怎么做到这一点? MySQLdb是否提供了一个没有记录的更好的方法?
为什么你有'LEN(IDS)'?它不应该是'placeholder =“,”。join(ids)'? –
@YevgenYampolskiy我用它在第二行创建了一个字符串,如“%s,%s,%s”。后来,我将这个字符串插入到'sql'语句中,并将列表'ids'作为第二个参数。 – satoru