當我想要做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