3

根据 SQLite 文档,默认情况下所有表都有 rowid,并且无法删除。这个 rowid 可以用rowid,oid或访问_rowid_

无论如何,数据库用户可以自由添加带有名称的新列,并且这些列将被隐藏。访问 rowid 的唯一方法是使用INTEGER PRIMARY KEY.

这是我目前的理解。有了这个,如果用户隐藏所有列并且用户没有创建任何 PK 列,我没有可靠的方法来获取rowid 。我曾考虑过添加临时PK列,但这也不可靠。如果这是真的,这没有任何意义。因为数据总是可用的,而我只是因为没有合适的接口而无法访问。

所以我认为应该有一种方法可以可靠地访问这些数据。但我找不到 C API 的任何东西。我可以为此提供一些指导吗?

4

0 回答 0