Допустим, у меня есть следующая таблица в SQL Server:
CREATE TABLE Users
(
UserID int IDENTITY(1,1) PRIMARY KEY
, UserName varchar(50)
, InsertDate datetime2 DEFAULT GETDATE()
)
В Python я хочу вставить в эту таблицу из DataFrame и получить обратно UserID
строк, которые я только что вставил
import numpy as np
import pandas as pd
import sqlalchemy as sa
engine = sa.create_engine(...)
df = pd.DataFrame({'UserName': ['Alice', 'Bob']})
df.to_sql('Users', engine, if_exists='append', index=False)
Данные попадают в базу данных. Но как мне вернуть UserID
строк, которые я только что вставил? Я подумал о написании функции-оболочки, которая сначала вставляет во временную таблицу и использует T-SQL для манипулирования данными и возврата того, что я хочу. Но есть ли более простой способ?
Примечание : Я никак не могу изменить схему таблицы. Я могу создавать только временные таблицы в базе данных.