Как надежно получить / использовать идентификатор строки SQLite с C API, когда пользователь скрывает все имена столбцов? - PullRequest
3 голосов
/ 23 января 2012

Согласно документации SQLite, все таблицы имеют rowid по умолчанию, и его нельзя удалить. И этот rowid может быть доступен с rowid, oid или _rowid_.

В любом случае пользователи базы данных могут свободно добавлять новый столбец с именами, и столбцы будут скрыты. Единственный способ получить доступ к rowid - создать новый столбец с INTEGER PRIMARY KEY.

Это мое текущее понимание. И с этим у меня нет надежного способа получить rowid , если пользователь скрыл все столбцы, а пользователь не создал ни одного столбца PK. Я думал о добавлении временного столбца PK, но это тоже ненадежно. Если это правда, это не имеет смысла. Потому что данные всегда доступны, и я просто не могу получить к ним доступ, потому что нет подходящего интерфейса.

Так что я думаю, что должен быть способ надежного доступа к этим данным. Но я не смог ничего найти с C API. Могу ли я получить руководство для этого?

...