soci: вернуть первичный ключ после & quot; вставить в & quot;

Я использую soci с C ++ для доступа к моей базе данных. Можно ли изменить следующее выражение таким образом, чтобы получить новый первичный ключ, который был дан строке, добавленной этим выражением?

 *dbSession << "insert into myTable(myRow) values (:myVal)", soci::use(myVal);

например

 long newID = *dbSession << "insert into myTable(myRow) values (:myVal)", soci::use(myVal);

Чтобы я мог продолжить свою работу, используя newID? в этом случае id является первичным ключом (bigserial)

0

Решение

В SQL вы можете использовать RETURNING чтобы получить сгенерированный идентификатор.
Подобно: INSERT INTO tbloCustomer (Name) VALUES ('Goofy') RETURNING ID;
(Если ваш первичный ключ называется ID;)

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]