Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.11.2017, 16:19   #1
SAMOUCHKA
Форумчанин
 
Регистрация: 07.08.2011
Сообщений: 576
По умолчанию SQL вставка с получением результата

есть таблица, у которой id INTEGER PRIMARY KEY AUTOINCREMENT.
С помощью INSERT INTO я добавляю новые строки.
Скажите пожалуйста как получить результат этого добавления? В частности интересует id, ну и другие поля тоже.
SAMOUCHKA вне форума Ответить с цитированием
Старый 10.11.2017, 16:20   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

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

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
это зависит от СУБД
все это используется с Qt. Драйвер QSQLITE
SAMOUCHKA вне форума Ответить с цитированием
Старый 10.11.2017, 17:08   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

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

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

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Если я правильно понял, предлагается сначала создать новую запись. за тем прочитать последнюю созданную запись.
Но что если перед тем как я читаю последнюю запись, кто то создаст новую? тогда я прочитаю не ту запись.
SAMOUCHKA вне форума Ответить с цитированием
Старый 10.11.2017, 19:07   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

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


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


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