我正在使用SQLAlchemy,但并没有使用ORM,也就是说,我使用手动编写的SQL语句直接与后端数据库进行交互。在这个实例中,我使用PG作为后端数据库(使用psycopg2作为DB驱动程序),我不知道这是否会影响答案。以下是我使用的一些语句,为了简洁起见,假设conn是一个有效的数据库连接:
conn.execute("INSERT INTO user (name, country_id) VALUES ('Homer', 123)")
假设用户表由列 (id [SERIAL PRIMARY KEY], name, country_id)
组成。
我如何在不再次访问数据库的情况下获取新增用户的id?
mysql
和sqlalchemy
,请使用result.lastrowid
。我知道这个问题是针对postgresql
的,但 Google 可能不知道,可能是因为标题。 - am.rez