データ アクセスに SQLAlchemy を使用して Python で記述された Web アプリケーションがあります。挿入の最後の挿入 ID を取得しようとしています。このコードは、私が PyODBC を使用していたときには機能していましたが、SQLAlchemy では機能しないようです。 LAST_INSERT_ID()
一貫して1つずれている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']
なぜこれが1つずれるのかについてのアイデアはありますか(たとえば、9ではなく8を返す)?