SQLite, как и многие другие базы данных, на самом деле не имеет понятия положения записи (в отношении обычного пользователя), за исключением того, что для таблиц автоматически присваивается rowid , который будетбыть уникальным идентификатором, который обычно увеличивается на 1 (не то чтобы это гарантировано).Числа Freed rowid могут использоваться повторно (не при использовании AUTOINCREMENT), но только до тех пор, пока не будет использован rowid 9223372036854775807.Этот rowid , как правило, является наиболее эффективным средством доступа к строке (записи).Далее многое объясняется в столбце rowid Автоинкремент SQLite .
При определении таблицы можно использовать БЕЗ ROWID (для более поздних версийверсии SQlite), в этом случае столбец rowid не будет.
Часто используется псевдоним столбца rowid .Псевдоним определяется кодированием ??INTEGER PRIMARY KEY (с необязательным ключевым словом AUTOINCREMENT).
- Примечание VACUUM может измениться rowid , если псевдоним не был назначен.
Если вы хотите, чтобы строки были в определенном порядке, тогда вы используете ключевое слово ORDER BY при запросе таблиц.В этом случае результирующий набор упорядочен.
Однако, опять же, как и многие базы данных, он пытается эффективно управлять хранилищем, хотя можно использовать команду VACUUM SQL как понятно SQLite VACUUM или включив автоматический вакуумный режим через прагму.