http://initd.org/psycopg/docs/extras.html
psycopg2.extras.execute_values 有一个参数 page_size
。
我正在使用 RETURNING ID
执行 INSERT INTO...ON CONFLICT...
。
问题是 cursor.fetchall()
只返回最后一个“页面”,即 100 个 ID(默认为 page_size
)。
在不修改 page_size
参数的情况下,是否可以迭代结果以更新总行数?
最佳答案
我遇到了同样的问题。我通过批处理对 execute_values() 的调用来解决这个问题。我将设置 my_page_size=1000,然后遍历我的值,填充 argslist 直到我有 my_page_size 项目。然后我将调用 execute_values(cur, sql, argslist, page_size=my_page_size)。并遍历 cur 以获取这些 ID。
关于psycopg2 - 在返回 execute_values 的页面上迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44065571/