| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Python: Базы данных > sqlite3 Выбрать строку lastrowid |
| Автор: tishaishii 6.11.2015, 19:59 | ||
Получаю почему-то цыфру "5", хотя, строк в таблице совсем не 5, а 2 (я вручную ввёл) . Хорошо, пускай будет "5", но что это означает и как теперь узнать `acc_driver`.`id`? |
| Автор: tishaishii 6.11.2015, 20:22 |
| Всё. Нашёл: http://stackoverflow.com/questions/7575166/android-sqlite-get-last-insert-row-id |
| Автор: samssrus 7.11.2015, 08:55 |
| ...не смотря на то, что ответ уже найден... ИМХО использование чистых конструкций "sqlite3.connect", "dbh.execute" не есть хорошо... для Python существует хорошая ORM - sqlalchemy (http://www.sqlalchemy.org/). относительно заданного вопроса при использовании sqlalchmy можно было бы написать просто: rowid = session.query(acc_driver).count() + 1 Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/sqlite3-Vybrat-stroku-lastrowid-id563cdc9aae2015d4468b4567#findElement_E7045_563d924cae2015a467f4dc8a_0 |
| Автор: tishaishii 8.11.2015, 15:10 |
| Большое спасибо за ответ. count()+1 - совсем не хорошо. А ORM для клиентской программы ещё не хочу. Хочу поменьше кода и объёма. Добавлено через 30 секунд Есть 100% вариант по ROWID |