通常、Sqlite がinteger primary keyステートメントに遭遇したとき、たとえば
CREATE TABLE [T] (id INTEGER PRIMARY KEY, [...]);
その列は、Sqlite の内部 ID 列であるrowidid列のエイリアスになります。
ただし、追加not nullするときは
CREATE TABLE [T] (Id INTEGER PRIMARY KEY NOT NULL, [...]);
エイリアシングはまだアクティブですか?
NOT NULLはテーブルのセマンティック プロパティに影響を与えるべきではありませんが、エイリアシングの規則は非常に厳密です (たとえば、intの代わりに受け入れられませintegerん)。