Python Sqlalchemy核心,insert语句返回*(所有列)
我正在使用sqlalchemy core(查询生成器)使用表定义进行插入。例如:Python Sqlalchemy核心,insert语句返回*(所有列),python,sqlalchemy,Python,Sqlalchemy,我正在使用sqlalchemy core(查询生成器)使用表定义进行插入。例如: table.insert().values(a,b,c) 我可以让它返回特定的列: table.insert().values(a,b,c).returning(table.c.id, table.c.name) 但是我使用的是postgres,它有一个RETURNING*语法,返回行中的所有列。有没有办法用sqlalchemy core做到这一点 query = table.insert().values(a
table.insert().values(a,b,c)
我可以让它返回特定的列:
table.insert().values(a,b,c).returning(table.c.id, table.c.name)
但是我使用的是postgres,它有一个RETURNING*
语法,返回行中的所有列。有没有办法用sqlalchemy core做到这一点
query = table.insert().values(a,b,c).returning(literal_column('*'))
你可以像这样访问它
for col in execute(query, stmt):
print(col)
要获取所有表列,还可以执行以下查询:
table.insert().values(a,b,c).returning(table)
.returning(literal_列('*'))
有效吗?@jordanm是的。谢谢。嗨,这帮我解决了我的问题。我想在这方面再贡献一点。我们可以像dict(res.fetchone())
那样获取数据,而不是我们想要的dict中的for。