3

SQLite のドキュメントによると、すべてのテーブルにはデフォルトで行 ID があり、削除することはできません。rowidそして、このROWIDには、oidまたはでアクセスできます_rowid_

いずれにせよ、データベース ユーザーは自由に名前を付けて新しい列を追加でき、列は非表示になります。行 ID にアクセスする唯一の方法は、新しい列を作成することINTEGER PRIMARY KEYです。

これが私の現在の理解です。これにより、ユーザーがすべての列を非表示にし、ユーザーが PK 列を作成しなかった場合、 ROWIDを取得する信頼できる方法がありません。一時的な PK 列を追加することも考えましたが、これも信頼できません。これが本当なら、意味がありません。データは常に利用可能であり、適切なインターフェイスがないためにアクセスできないからです。

したがって、このデータに確実にアクセスする方法が必要だと思います。しかし、C API では何も見つかりませんでした。これについていくつかのガイダンスがありますか?

4

0 に答える 0