可以对一个表定义多个 UNIQUE 约束,但只能定义一个 PRIMARY KEY 约束.
而且,UNIQUE 约束允许 NULL 值,这一点与 PRIMARY KEY 约束不同.不过,当与参与 UNIQUE 约束的任何值一起使用时,每列只允许一个空值.
FOREIGN KEY 约束可以引用 UNIQUE 约束.
作用为:唯一约束保证在一个字段或者一组字段里的数据与表中其它行的数据相比是唯一的。
创建唯一约束可确保在不参与主键的特定列中不输入重复值。当唯一约束和主键都强制唯一性时,如果满足下列条件,则应将唯一约束而不是主键约束附加到表上:
1、希望在列或列的组合中强制唯一性。可将多个唯一约束附加到表,但是只能将一个主键约束附加到表。
2、希望在允许空值的列中强制唯一性。可将唯一约束附加到允许空值的列,但是只能将主键约束附加到不允许空值的列。当将唯一约束附加到允许空值的列时,请确保在约束的列中最多有一行包含空值。
扩展资料:
SQL中其他约束有:
1、主键约束:
主键列的数据类型不限,但此列必须是唯一并且非空。如该表中已有主键为1000的行,则不能再添加主键为1000。人工或程序不好控制的时候,也可以设置主键列为自动增长列。
2、参考约束:
参考约束是一个规则,可由SQL和XQuery 编译器使用,但数据库管理器不会强制执行它。
查询编译器包括一个重写查询阶段,它将SQL和XQuery语句变换为可能是优化的格式并改进所需数据的访问路径。该约束的目的不是由数据库管理器对数据执行附加验证,而是为了提高查询性能。
3、用户自定义完整性约束:
用户自定义完整性指针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。
例如某个属性必须取唯一值,某个非主属性也不能取空值,某个属性的取值范围在0-100之间等。
参考资料来源:百度百科-唯一约束
参考资料来源:百度百科-主键约束
参考资料来源:百度百科-SQL数据库
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)