sql server中,怎样建立一个不允许重复记录的字段(允许空值重复) SQL Server 20001、建立一个的允许多个空值的字段。2、非空值记录不能重复。如何在建立表时中约束这个条件? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Create table T1(Col1 varchar(20) UNIQUE ) 要看“空值”指什么:如果是null,则如上如果为空字符串,则只能自己程序检测处理 sql 帮助:UNIQUE 约束可使用 UNIQUE 约束确保在非主键列中不输入重复值。尽管 UNIQUE 约束和 PRIMARY KEY约束都强制唯一性,但在强制下面的唯一性时应使用 UNIQUE 约束而不是 PRIMARY KEY 约束: 非主键的一列或列组合。 -- 一个表可以定义多个 UNIQUE 约束,而只能定义一个 PRIMARY KEY 约束。允许空值的列。 -- 允许空值的列上可以定义 UNIQUE 约束,而不能定义 PRIMARY KEY 约束。FOREIGN KEY 约束也可引用 UNIQUE 约束。 空值指null,用UNIQUE只允许单个null值,不允许多个记录重复null值。 UNIQUE约束只允许一行能包含Null值。 那就不建立约束,然后通过触发器来控制不能插入不为NULL的重复值 使用触发器,添加一个值,如果重复就设置为null。 Create table T1(Col1 varchar(20) UNIQUE ) Create table T1(Col1 varchar(20) UNIQUE )这句是不能用的,因为楼主的要求是空记录可以重复,非空记录不能重复。UNIQUE是不允许出现两个空记录的。 为什么会产生这样的异常 从未见过的数据库连接异常,求高手帮忙解决 求助啊!!请问c#定时器线程名怎么获得??可以获得吗?? 请教C#调用cb写的ocx控件问题 C# C/S软件有背景图片,打开软件的时候或者软件界面其它遮挡物移开/关闭的时候软件界面会一块一块出现,请问咋整? 如何用c#来实现FTPS,给点思路也好。 初写C#,一个累加问题 怎样隐藏datagrid控件中的某一列? 如何提升c# 版web application的速度? 获取SQLServer列表问题? 求正則表達式 怎么写删除的程序呀,?????
如果是null,则如上
如果为空字符串,则只能自己程序检测处理
UNIQUE 约束
可使用 UNIQUE 约束确保在非主键列中不输入重复值。尽管 UNIQUE 约束和 PRIMARY KEY约束都强制唯一性,但在强制下面的唯一性时应使用 UNIQUE 约束而不是 PRIMARY KEY 约束: 非主键的一列或列组合。
-- 一个表可以定义多个 UNIQUE 约束,而只能定义一个 PRIMARY KEY 约束。允许空值的列。
-- 允许空值的列上可以定义 UNIQUE 约束,而不能定义 PRIMARY KEY 约束。FOREIGN KEY 约束也可引用 UNIQUE 约束。
这句是不能用的,因为楼主的要求是空记录可以重复,非空记录不能重复。UNIQUE是不允许出现两个空记录的。