Android-SQLite数据库中的唯一约束

Android-SQLite数据库中的唯一约束,android,sqlite,Android,Sqlite,如果我把我的一列放在Android SQLite数据库中 "passed BOOLEAN NULL UNIQUE" UNIQUE约束不允许我放置空值的副本?但是如果我没有设置列中的值,它默认为null,那么这是否违反了规则?是否有其他方法可以处理UNIQUE约束?谢谢 唯一约束允许值为NULL。但是,与参与唯一约束的任何值一样,每列只允许一个空值 根据这一点,除了重新构造表外,没有其他解决办法。这并不完全正确-“为了唯一约束的目的,空值被认为与所有其他值不同,包括其他空值。”这意味着每列允许有

如果我把我的一列放在Android SQLite数据库中

"passed BOOLEAN NULL UNIQUE"

UNIQUE
约束不允许我放置空值的副本?但是如果我没有设置列中的值,它默认为null,那么这是否违反了规则?是否有其他方法可以处理
UNIQUE
约束?谢谢

唯一约束允许值为NULL。但是,与参与唯一约束的任何值一样,每列只允许一个空值


根据这一点,除了重新构造表外,没有其他解决办法。

这并不完全正确-“为了唯一约束的目的,空值被认为与所有其他值不同,包括其他空值。”这意味着每列允许有多个空值@NatiDykstein:你的定义是正确的,如果我没有错的话,SQLite用自己的术语重新解释了它,这就是我的答案中的链接所指向的。我不确定你在重新解释中指的是什么,但根据我对安卓SQLite的直接体验,它允许在唯一列中有多个空值。1)唯一列的定义“对于表上的每个唯一约束,每行必须包含由唯一约束标识的列中的值的唯一组合。出于唯一约束的目的,空值被视为与所有其他值(包括其他空值)不同。“2)在我的回答中引用链接“SQL标准要求强制执行唯一约束,即使约束中的一个或多个列为空,但SQLite不这样做。”,这就是为什么它适用于您。