相关疑难解决方法(0)

SQLAlchemy 插入返回具有多个值的主键

我正在尝试使用 SQLAlchemy 的插入和执行方法,并将字典列表作为值,并获取插入的 id。数据库是Postgres,应该支持RETURNING。

代码看起来或多或少像这样:

table = MyThing.__table__
insert_stmt = table.insert().values({"name": bindparam("name_val")}).returning(table.c.id)
values = [{"name_val": "a"}, {"name_val": "b"}]
result = session.execute(insert_stmt, values).fetchall()
Run Code Online (Sandbox Code Playgroud)

(为了可读性和一些混淆而进行了精简)

当值列表大于 1 时(如上例所示),我得到:

sqlalchemy.exc.ProgrammingError:(psycopg2.ProgrammingError)没有要获取的结果

但是当列表只有一个值时,新的 id 会正确返回。

我知道我可能在使用返回方式时错过了一些东西,但我不知道是什么。

python postgresql bulkinsert sqlalchemy

5
推荐指数
1
解决办法
4701
查看次数

标签 统计

bulkinsert ×1

postgresql ×1

python ×1

sqlalchemy ×1