Форум программистов  
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > C++ > C/C++ Базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 10.11.2017, 17:19   #1
SAMOUCHKA
Форумчанин
 
Регистрация: 07.08.2011
Адрес: Димитровград
Сообщений: 485
Репутация: 33

skype: ilya10009
По умолчанию SQL вставка с получением результата

есть таблица, у которой id INTEGER PRIMARY KEY AUTOINCREMENT.
С помощью INSERT INTO я добавляю новые строки.
Скажите пожалуйста как получить результат этого добавления? В частности интересует id, ну и другие поля тоже.
__________________
eremeew.ilya@yandex.ru
SAMOUCHKA вне форума   Ответить с цитированием
Старый 10.11.2017, 17:20   #2
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 22,581
Репутация: 5062
По умолчанию

Цитата:
Сообщение от SAMOUCHKA Посмотреть сообщение
Скажите пожалуйста как получить результат этого добавления? В частности интересует id
это зависит от СУБД
Serge_Bliznykov вне форума   Ответить с цитированием
Старый 10.11.2017, 17:25   #3
SAMOUCHKA
Форумчанин
 
Регистрация: 07.08.2011
Адрес: Димитровград
Сообщений: 485
Репутация: 33

skype: ilya10009
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
это зависит от СУБД
все это используется с Qt. Драйвер QSQLITE
__________________
eremeew.ilya@yandex.ru
SAMOUCHKA вне форума   Ответить с цитированием
Старый 10.11.2017, 18:08   #4
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 22,581
Репутация: 5062
По умолчанию

смотрите,
http://www.sqlite.org/lang_corefunc.html
last_insert_rowid()

отсюда-
http://www.sql.ru/forum/679602/sqlit...zdannyy-zapisi
Serge_Bliznykov вне форума   Ответить с цитированием
Старый 10.11.2017, 19:48   #5
SAMOUCHKA
Форумчанин
 
Регистрация: 07.08.2011
Адрес: Димитровград
Сообщений: 485
Репутация: 33

skype: ilya10009
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Если я правильно понял, предлагается сначала создать новую запись. за тем прочитать последнюю созданную запись.
Но что если перед тем как я читаю последнюю запись, кто то создаст новую? тогда я прочитаю не ту запись.
__________________
eremeew.ilya@yandex.ru
SAMOUCHKA вне форума   Ответить с цитированием
Старый 10.11.2017, 20:07   #6
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк.ua
Сообщений: 16,640
Репутация: 5851
По умолчанию

Кто-то будет в другом соединении с базой, а last_insert_rowid возвращает ключ последней вставленной в текущем соединении. Так что SELECT сразу после INSERT-а
__________________
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар на форуме   Ответить с цитированием
Ответ



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
SQL использование JOIN LEFT не дает нужного результата Yuran БД в Delphi 2 12.04.2015 12:49
Ошибка при попытке вывода результата sql-запроса в DBGrid Fahnrich БД в Delphi 6 08.07.2013 18:23
Трудности с обработкой результата SQL запроса Shepetov_SA БД в Delphi 2 19.03.2010 12:59
автоматическая вставка результата поиска в прайсе в файл расчета ATTA Microsoft Office Excel 23 29.01.2008 15:07
Вставка БД с SQL server 2005 фЁдОр SQL, базы данных 17 20.11.2007 18:15




21:48.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru