SQL Server 20001、建立一个的允许多个空值的字段。
2、非空值记录不能重复。如何在建立表时中约束这个条件?

解决方案 »

  1.   

    Create table T1(Col1 varchar(20) UNIQUE )
      

  2.   

    要看“空值”指什么:
    如果是null,则如上
    如果为空字符串,则只能自己程序检测处理
      

  3.   

    sql 帮助:
    UNIQUE 约束
    可使用 UNIQUE 约束确保在非主键列中不输入重复值。尽管 UNIQUE 约束和 PRIMARY KEY约束都强制唯一性,但在强制下面的唯一性时应使用 UNIQUE 约束而不是 PRIMARY KEY 约束: 非主键的一列或列组合。 
      -- 一个表可以定义多个 UNIQUE 约束,而只能定义一个 PRIMARY KEY 约束。允许空值的列。 
      -- 允许空值的列上可以定义 UNIQUE 约束,而不能定义 PRIMARY KEY 约束。FOREIGN KEY 约束也可引用 UNIQUE 约束。
      

  4.   

    空值指null,用UNIQUE只允许单个null值,不允许多个记录重复null值。
      

  5.   

    UNIQUE约束只允许一行能包含Null值。
      

  6.   

    那就不建立约束,然后通过触发器来控制不能插入不为NULL的重复值
      

  7.   

    使用触发器,添加一个值,如果重复就设置为null。
      

  8.   

    Create table T1(Col1 varchar(20) UNIQUE )
      

  9.   

    Create table T1(Col1 varchar(20) UNIQUE )
    这句是不能用的,因为楼主的要求是空记录可以重复,非空记录不能重复。UNIQUE是不允许出现两个空记录的。