Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как в SQLite можно получить last_insert_id?

5.7K
11 августа 2011 года
Lindemann66
193 / / 21.07.2011
Всем привет!

Думаю над вопросом, как можно получить last_insert_id, работая с SQLite

Будет ли работать
Код:
//процедура добавления ссылки
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;
}


Либо надо делать выборку всего и применять last(), либо просто делать выборку с условием MAX()?
18K
11 августа 2011 года
rrrFer
50 / / 08.09.2008
не совсем понял вопрос. Вам нужен ID последней добавленной записи? - если да, то не понятно:
Цитата:
либо просто делать выборку с условием MAX()?


поидее, БД не гарантирует, что последняя вставленная запись будет иметь наибольший ID.

5.7K
11 августа 2011 года
Lindemann66
193 / / 21.07.2011
Цитата: rrrFer
Вам нужен ID последней добавленной записи?



Именно

Цитата: rrrFer
поидее, БД не гарантирует, что последняя вставленная запись будет иметь наибольший ID.



По идее, если в таблице автоинкрементный ключ, то в данной конкретной таблице id последней вставленной записи - максимальный
Просто не могу представить обратную ситуацию

18K
11 августа 2011 года
rrrFer
50 / / 08.09.2008
вы правы :)
http://www.sqlite.org/c3ref/last_insert_rowid.html
5.7K
11 августа 2011 года
Lindemann66
193 / / 21.07.2011
Круто :)
проверю, напишу как работает
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог