listに格納されている数値idと一致するデータを一括でcursor.execute()で所得したい。
flow_idと呼んでいるリストに、数値idが入っている。
例)flow_id = [2334,89843,2983]
このflow_idをもつデータをデータベースから検索したい。
for文でidを取り出して一回一回繰り返していては、処理に時間がかかるためexecuteにリストを渡す形で一度に所得したい。以前、複数のパラメータでexecuteを利用した方法にならい、リストの中身をタップルにして渡したのでが、エラーがでて途方に暮れました。
listの変換例
flow_id = [2334,84839,2984]
↓
input_list = [(2334,),(84839,),(2984,)]
エラー
listをそのまま渡すとエラが以下のエラーが出ました。これは、listを変換することにより解決済み。
Not all parameters were used in the SQL statement
現在 困っているエラー
python type tuple cannot be converted
以下に具体的なコードを示す
python
1flow_id = [3435,34343,4341] 2 3input_list = [] 4for i in flow_id_list: 5 input_list = input_list + [(i,)] 6sql = '' 7select * from `test` 8where flow_id=%s 9''' 10cursor.execute(sql,input_list)
やはり、for文で回すのが良いのでしょうか?
flow_idのlenが万を超えるので、一括で所得できる他の方法がありましたら教えてください。
よろしくお願いします。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。