Я пытаюсь вставить значения в базу данных Postgres11 с необработанными запросами sqlalchemy text()
. Следующий запрос SQL работает правильно, когда я запускаю его через psql -клиент:
WITH a AS (
INSERT INTO person (id)
VALUES ('a')
RETURNING id
)
INSERT INTO person_info (person_id)
SELECT id
FROM a;
Все строки вставлены правильно:
# select id from person;
id
----
a
(1 row)
Однако, если я создаю движок в sqlalchemy и вызовите на нем выполнение с идентичным запросом, он выполняется успешно, но строки не вставляются:
>>> engine.execute("WITH a AS (INSERT INTO person (id) VALUES ('b') RETURNING id) INSERT INTO person_info (person_id) SELECT id from a")
<sqlalchemy.engine.result.ResultProxy object at 0x7f25e6c2a090>
Но новая строка не вставлена:
# select id from person;
id
----
a
(1 row)
Каким образом выполнение запроса через psql -клиент отличается от выполнения его через sqlalchemy?