2015-01-26 2 views
0

Как я могу найти первый вставляемыйrowid из SQLite?Android, SQLite найти первую пустую строку

Как вы знаете, если вы удалите последнюю строку (например, rowId = 10) и снова вставьте запись, она получит следующий id (rowId = 11).

Так что я не ищу последнюю строку, которая вставлена, или она следующая, только первая вставка. Спасибо.

+0

Почему вы обеспокоены этим? –

+0

, потому что у меня есть некоторые связанные таблицы, когда я хочу вставить запись, я должен знать первый вставной идентификатор другой таблицы для использования в текущей таблице и после ее вставки, я должен вставить мою запись во вторую таблицу.complex :) –

+0

Просто вставьте свой новая запись. Затем введите его id (используя функцию 'Max') и используйте этот идентификатор, чтобы вставить новую запись в другую таблицу. –

ответ

0

Предполагая, что ваш rowid использует алгоритм AUTOINCREMENT, вы можете запросить его текущее значение из таблицы sqlite_sequence. Следующий id - это +1.

Например:

SELECT seq+1 FROM sqlite_sequence WHERE name='your_table_name'; 

Если ROWID является регулярным INTEGER PRIMARY KEY, то ROWID будет просто MAX + 1:

SELECT MAX(rowid)+1 FROM your_table_name; 
+0

Это не будет заполнять промежутки, например. кто-то удалил вторую строку. – dlanod

+0

Почему кто-то хочет повторно использовать идентификаторы? – laalto

+0

Если он используется как первичный ключ, открытый вне базы данных. «Первый вставленный rowid» может быть в результате удаления более ранней строки. – dlanod

Смежные вопросы