我使用sqlalchemy core(查询构建器)使用表定义进行插入。例如:
table.insert().values(a,b,c)
我可以让它返回特定列:
table.insert().values(a,b,c).returning(table.c.id, table.c.name)
但我使用的是具有RETURNING *
语法的postgres,它返回行中的所有列。有没有办法用sqlalchemy核心做到这一点?
答案 0 :(得分:1)
query = table.insert().values(a,b,c).returning(literal_column('*'))
您可以像访问它一样
for col in execute(query, stmt):
print(col)
答案 1 :(得分:1)
或者,您可以扩展表格列:
table.insert().returning(*table.c).values(a,b,c)
答案 2 :(得分:0)
要获取所有表列,还可以执行以下查询:
table.insert().values(a,b,c).returning(table)