所以,我在 Ionic 上有这个应用程序,它使用 SQLite ngCordova 插件 进行内部存储。在其上,我使用以下命令创建一个表:
db.executeSql(
"CREATE TABLE IF NOT EXISTS Scans_table (" +
//"id TEXT PRIMARY KEY NOT NULL," +
"name TEXT NOT NULL," +
"comment TEXT, " +
"text TEXT NOT NULL, " +
"format TEXT NOT NULL, " +
"dateTaken TEXT NOT NULL, " +
"imgSource TEXT NOT NULL)", ... );
根据this,如果我没有主键和整数的列,则应该将ROWID设置为唯一标识符。
问题是,当我使用简单的
SELECT * ...
查询表时,我看到了我设置的所有行,而不是 ROWID。
有其他方法来设置/检查 ROWID 吗?
文档获取如下所示的ROWID:
SELECT rowid FROM person;
或者:
SELECT oid FROM person;
或者:
SELECT _rowid_ FROM person;
而且,您还可以通过省略默认的 rowid
列来创建新的
rowid
列,如下所示。 *我的答案解释了如何插入带有自定义
PRIMARY KEY
列的行:
CREATE TABLE person (
rowid INTEGER PRIMARY KEY,
name TEXT
) WITHOUT ROWID;
然后就可以得到ROWID,如下图。 *oid
和
_rowid_
在这种情况下会给你错误:
SELECT rowid FROM person;