当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 次  |  
        
|   最近记录:  |