【发布时间】:2017-09-04 21:16:56
【问题描述】:
我有以下插入到我想要做的多个表中。目前我正在按顺序执行它们,如下所示
db_cursor.execute("INSERT INTO my_table1 ( \
my_foreign_id1, \
my_foreign_id2, \
some_meta_info1, \
some_meta_info2) \
VALUES (%s, %s, %s, %s) RETURNING *",
(my_dict["my_foreign_id1"],
my_dict["my_foreign_id2"],
my_dict["some_meta_info1"],
my_dict["some_meta_info2"])
)
db_cursor.execute("INSERT INTO my_table2 ( \
my_foreign_id1, \
my_foreign_id2, \
some_note_info1, \
some_note_info2) \
VALUES (%s, %s, %s, %s) RETURNING *",
(my_dict["my_foreign_id1"],
my_dict["my_foreign_id2"],
my_dict["some_note_info1"],
my_dict["some_note_info2"])
)
我想同时进行上面的插入,同时确保它们在一个提交中,这样任何人失败我都可以回滚。
psycopg2 中是否有允许批量插入而不是顺序插入的功能?
谢谢
【问题讨论】:
标签: python postgresql psycopg2