我使用以下命令创建了一个表:
CREATE TABLE Person (id INTEGER PRIMARY KEY NOT NULL, name TEXT NOT NULL)
我遇到的问题是,id
尽管有 NOT NULL 约束,我仍可以为该列插入 NULL。据我了解,这是因为该id
列现在是rowid
.
如果我将数据类型更改id
为 INT 而不是 INTEGER,则约束按预期工作,但我失去了rowid
别名(以及随之而来的好处)。
我的问题是:有没有办法在为作为别名的列传递 NULL 时引发约束错误rowid
?