Без набора автоинкремента строка будет псевдонимом для ROWID ...
Это то, что часто задаваемые вопросы говорят:
Если ROWID не указан на вставке, или еслиуказанный ROWID имеет значение NULL, затем соответствующий ROWID создается автоматически.Обычный алгоритм должен дать вновь созданной строке ROWID, который больше, чем самый большой ROWID в таблице до вставки.Если таблица изначально пуста, то используется ROWID, равный 1.Если наибольший ROWID равен наибольшему возможному целому числу (9223372036854775807), то ядро базы данных начинает выбирать случайные ROWID-кандидаты случайным образом, пока не найдет тот, который ранее не использовался.Если после разумного количества попыток не может быть найдено неиспользованного ROWID, операция вставки завершается с ошибкой SQLITE_FULL.Если никакие отрицательные значения ROWID явно не вставляются, то автоматически генерируемые значения ROWID всегда будут больше нуля.
Описанный выше обычный алгоритм выбора ROWID будет генерировать монотонно увеличивающиеся уникальные ROWID, если вы никогда не используете максимальное значение ROWID.и вы никогда не удаляете запись в таблице с наибольшим ROWID.Если вы когда-либо удаляете строки или создаете строку с максимально возможным ROWID, то ROWID из ранее удаленных строк могут использоваться повторно при создании новых строк, а вновь созданные ROWID могут быть не в строго возрастающем порядке.