我正在比较 Postgres 客户端的一些功能的兼容性,并且我很难让准备好的语句在 Psychopg2 中工作。Node.jspg
包允许我在提供名称 ( insert-values
) 准备查询服务器端时执行以下操作:
for (let rows = 0; rows < 10; rows++) {
// Providing a 'name' field allows for prepared statements / bind variables
const query = {
name: "insert-values",
text: "INSERT INTO my_table VALUES($1, $2, $3, $4);",
values: [Date.now() * 1000, Date.now(), "node pg prep statement", rows],
}
const preparedStatement = await client.query(query)
}
在 Python 中,我正在使用psycopg2做这样的事情:
# insert 10 records
for x in range(10):
now = dt.datetime.utcnow()
date = dt.datetime.now().date()
cursor.execute("""
INSERT INTO trades
VALUES (%s, %s, %s, %s);
""", (now, date, "python example", x))
# commit records
connection.commit()
有没有办法在 Python 中创建准备好的语句?
编辑我正在使用QuestDB 文档中的示例