Peter Halasz wrote:
> However, it's quite clear to me, as only a user of just a few of these
> tools and libraries, that they would be improved greatly if they had a
> direct way of querying which field in a SQLite table was acting as an alias
> of ROW ID.
The rowid column must have the type "integer", and must be the only
column in the primary key:
WHERE type = 'integer' COLLATE NOCASE
GROUP BY pk != 0
HAVING max(pk) = 1;
(Before version 3.16.0, this was harder without pragma_table_info().)
But there is no reliable way to check for the PRIMARY KEY DESC exception,
or whether a table is a WITHOUT ROWID table. You could try to read the
rowid/oid/_rowid_ columns, as long as the table does not use all three
of these names for other columns.
sqlite-users mailing list