create table tttt (
a int null,
b int null
)
gocreate UNIQUE index id_tttt on tttt(a,b)
goinsert tttt values (1,null)
goinsert tttt values (1,null)  --出错
goinsert tttt values (null,null)
goinsert tttt values (null,null) --出错
go

解决方案 »

  1.   

    UNIQUE 约束 可以在允许空值的列上创建,但是,这个列的值为NULL的只能是1行
      

  2.   

    有很多NULL的字段能不能創建Unique index?
    肯定是不能了,Unique index只允许有1行是NULL
      

  3.   

    Unique index只允许有1行是NULL
    这个说法有点问题,多列组合的时候有问题,至少让人误解看上面测试就知道了,全为null的只能一条可以这么理解:Unique index把null当作一个值,其他得就和它的唯一的定义一样了,当作null=null,所以(1,null)和(1,null)重复,(null,null)和(null,null)重复
      

  4.   

    但是(1,null)和(null,null)不重复