Ada*_*tan 2 python psycopg2 sql-parametrized-query
给定Python中一个大的(~10,000)整数列表,如何有效地SELECT从列表中id的表中的所有项目?
我试过了:
>>> lst2
[{'id': 97600167}, {'id': 97600168}, {'id': 97611194}]
>>> cur.executemany("SELECT id, parent_id FROM my_table WHERE id=%(id)s", lst2)
>>> cur.fetchall()
[(97611194, 10020688), (None, None), (None, None)]
Run Code Online (Sandbox Code Playgroud)
第二个和第三个id(97600168,97611194)确实存在于表中.
使用您的示例,使用where id in然后传递一个参数,该参数是您要选择的id值的元组:
>>> lst2
[{'id': 97600167}, {'id': 97600168}, {'id': 97611194}]
>>> ids = tuple(x['id'] for x in lst2)
>>> cur.execute("SELECT id, parent_id FROM my_table where id in %s",[ids])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3626 次 |
| 最近记录: |