//процедура добавления ссылки
int DataBase::AddLink(LinkInfo link) {
QString queryStr(("INSERT INTO links (page_id, address, type) "
"VALUES ('%1', '%2', '%3')").arg(link.page_id).arg(link.address).arg(link.type);
QSqlQuery query(queryStr);
if (!query.isActive()) {
QMessageBox::warning(0, "Database Error",
query.lastError().text());
return -1;
}
query("select last_insert_id()");
if (!query.isActive()) {
QMessageBox::warning(0, "Database Error",
query.lastError().text());
return -1;
}
qint32 id = query.value(0).toInt();
return id;
}
Как в SQLite можно получить last_insert_id?
Думаю над вопросом, как можно получить last_insert_id, работая с SQLite
Будет ли работать
Код:
Либо надо делать выборку всего и применять last(), либо просто делать выборку с условием MAX()?
Цитата:
либо просто делать выборку с условием MAX()?
поидее, БД не гарантирует, что последняя вставленная запись будет иметь наибольший ID.
Цитата: rrrFer
Вам нужен ID последней добавленной записи?
Именно
Цитата: rrrFer
поидее, БД не гарантирует, что последняя вставленная запись будет иметь наибольший ID.
По идее, если в таблице автоинкрементный ключ, то в данной конкретной таблице id последней вставленной записи - максимальный
Просто не могу представить обратную ситуацию
проверю, напишу как работает