Позвольте мне объяснить это немного подробнее.
У меня есть таблица в sqlite, которая выглядит примерно так:
table
------
id numeric primary key,
uuid text not null,
other_field text
Теперь id - это стандартный тип автоинкремента.В эту таблицу могут быть добавлены и удалены записи в любое время, поэтому, если rowid, который использовался один раз ранее, использовался снова, это было бы хорошо.Я не использую эту функцию «заполнить таблицу» в sqlite.Разрешено иметь несколько записей с одинаковым uuid.Идея в том, что меня интересует только последняя вставленная запись.
Это поднимает вопрос.Я знаю, что могу сделать вызов типа «выбрать другое поле из таблицы, где uuid =? Order by rowid desc»
Это было бы нормально, но что, если rowid оборачивается?order by rowid desc не даст мне самую новую запись.
Все, что я могу придумать, это добавить поле creation_time, например
table
------
id numeric primary key,
uuid text not null,
other_field text
creation_time datetime
, а затем, когда оно будет создано, поставить datetime ('now') в этом поле.
select other_field from table where uuid=? order by creation_time desc
Но это означает добавление дополнительного поля и большего индекса.Есть ли способ сделать это?