使用Python获取为PostgreSQL序列密钥插入的最后一条记录的ID

编程入门 行业动态 更新时间:2024-10-27 12:37:02
本文介绍了使用Python获取为PostgreSQL序列密钥插入的最后一条记录的ID的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我使用的是不带ORM的SQLAlChemy,即使用手工创建的SQL语句直接与后端数据库交互。在本例中,我使用pg作为后端数据库(作为DB驱动程序)-我不知道这是否会影响答案。

我有这样的语句,为简洁起见,假设conn是到数据库的有效连接:

conn.execute("INSERT INTO user (name, country_id) VALUES ('Homer', 123)")

还假定用户表由列(id [SERIAL PRIMARY KEY], name, country_id)

组成

如何在不再次访问数据库的情况下获取新用户的ID?

推荐答案

您可以这样使用INSERT statement的RETURNING子句:

result = conn.execute("INSERT INTO user (name, country_id) VALUES ('Homer', 123) RETURNING *")

如果您只想要结果id:

result = conn.execute("INSERT INTO user (name, country_id) VALUES ('Homer', 123) RETURNING id") [new_id] = result.fetchone()

更多推荐

使用Python获取为PostgreSQL序列密钥插入的最后一条记录的ID

本文发布于:2023-10-20 12:57:59,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1511031.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:密钥   序列   Python   PostgreSQL   ID

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!