Pandas / SqlAlchemy: Получить автоматически сгенерированный первичный ключ для вставленной строки - PullRequest
0 голосов
/ 02 мая 2019

Я поддерживаю некоторый код, который манипулирует БД Microsoft SQL Server с Python через панд, поддерживаемых sqlalchemy / pyodbc.

Код вставляет строку, вызывая data_frame.to_sql('table_name', sqlalchemy_engine) в кадре данных, содержащем одну строку.Затем он выполняет другой запрос, используя значения столбца в data_frame в предложении WHERE, чтобы извлечь автоматически сгенерированный первичный ключ из только что вставленной строки.

Должен быть более элегантный способ.Я мог бы выполнить engine.execute("SELECT scope_identity();") на движке sqlalchemy (но так как ядро ​​может создавать соединение по требованию, я обязательно получу тот же экземпляр соединения, который использовался для вставки?) Если бы я выполнял необработанный запрос SQL, я мог бы включитькоманда OUTPUT в запросе, но не похоже, что панды это элегантно поддерживают.

Я что-то упустил или это какой-то хакерский путь, который уже есть в коде, лучший способ достичь этого?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...