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

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

 

如:

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



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

ALTER  TABLE Employee  WITH NOCHECK可以解决。

 

WITH NOCHECK表示:

 

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

posted @ 2018-03-30 10:55  WhiteSpace  阅读(679)  评论(0编辑  收藏  举报