当sqlite中任何一个可以为null时,如何为多列设置唯一约束?
例如我做了unique(“ col1”,“ col2”,“ col3”)并尝试insert into tablename values("abc","def",null)
两次将两行都插入。当第三列为空时,唯一约束不起作用。
在sqlite中,所有null都是差异。我认为解决此问题的最佳方法是使用特殊的默认值将c列设置为非null。然后使用默认值(例如0,'')表示空值。
您可以轻松地将此解决方案扩展到任何列
create table test (
a text not null default "",
b text not null default "",
c text not null default ""
);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1410 次 |
最近记录: |