我有一个用 Python 编写的 Web 应用程序,使用 SQLAlchemy 进行数据访问。我正在尝试获取插入的最后一个插入 ID。这段代码在我使用 PyODBC 时有效,但现在使用 SQLAlchemy 似乎不起作用。 LAST_INSERT_ID()
似乎始终返回一个减一的 ID。
query = text("""INSERT INTO HR_PunchBatch
(StoreID, UserID, Source,Timestamp,Status)
VALUES (:StoreID,:UserID,:Source,NOW(),:Status)""")
g.engine.execute(query,
StoreID=StoreID,
UserID=session['UserID'],
Source=source,
Status='New')
batch_id = g.engine.execute('SELECT LAST_INSERT_ID() AS id').fetchone()
return batch_id['id']
关于为什么这会关闭一个的任何想法(例如返回 8 而不是 9)?