如何让一个字段唯一,但允许其为空?请高人指点一下,万分感谢!!!

解决方案 »

  1.   

    create table tb(a int UNIQUE)
    insert into tb select null
    insert into tb select 1
    insert into tb select 1
    goselect * from tb
    godrop table tb
      

  2.   

    但是UNIQUE约束的null值也只能有一个
      

  3.   

    如果把NULL也看成所有值的集合中的一个元素,那么从逻辑上讲只能出现一个NULL也是符合楼主的表述的.只不过不知道楼主是不是想的跟自己的表述是一致的.
      

  4.   

    1、包含null惟一的话,直接设置主键即可!
    2、如果其他的惟一,但是空值可以很多的话,那么不能设置主键,只能通过程序控制了!