Согласно документации SQLite, все таблицы имеют rowid по умолчанию, и его нельзя удалить. И этот rowid может быть доступен с rowid
, oid
или _rowid_
.
В любом случае пользователи базы данных могут свободно добавлять новый столбец с именами, и столбцы будут скрыты. Единственный способ получить доступ к rowid - создать новый столбец с INTEGER PRIMARY KEY
.
Это мое текущее понимание. И с этим у меня нет надежного способа получить rowid , если пользователь скрыл все столбцы, а пользователь не создал ни одного столбца PK. Я думал о добавлении временного столбца PK, но это тоже ненадежно. Если это правда, это не имеет смысла. Потому что данные всегда доступны, и я просто не могу получить к ним доступ, потому что нет подходящего интерфейса.
Так что я думаю, что должен быть способ надежного доступа к этим данным. Но я не смог ничего найти с C API. Могу ли я получить руководство для этого?