T_SQL 语句想已有数据表添加约束

Posted WhiteSpace

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了T_SQL 语句想已有数据表添加约束相关的知识,希望对你有一定的参考价值。

如果向存在数据的表里添加约束,有可能会出现数据不符合检查约束而造成添加约束失败。

 

如:

USE DEmo--指向当前操作的数据库
GO
ALTER  TABLE Employee
ADD  CONSTRALNT CK_EmployeeID CHECK(LEN(EmployeeID=18)
然后会出现错误



报错意思是数据表里面的身份证号现有数据有不等于18的,与检查约束冲突,会添加失败。

ALTER  TABLE Employee  WITH NOCHECK可以解决。

 

WITH NOCHECK表示:

 

对表中现有的数据不做检查,只对添加约束之后在录入的数据进行检查。

以上是关于T_SQL 语句想已有数据表添加约束的主要内容,如果未能解决你的问题,请参考以下文章

sql server 对已有数据的表,添加核查约束 [失败],请使用with nocheck 子句

Oracle 数据库表中已有重复数据添加唯一键(唯一约束)

SQL server 数据库 用T-SQL语句创建以下四张表 求代码指导

sql server 2000 如何改变 default属性

T-SQL语句的分为哪四类?

数据库已有时间索引,想再添加ID索引