如果向存在數據的表里添加約束,有可能會出現數據不符合檢查約束而造成添加約束失敗。
如:

這是一個表,為身份證號添加檢查約束。
USE DEmo--指向當前操作的數據庫 GO ALTER TABLE Employee ADD CONSTRALNT CK_EmployeeID CHECK(LEN(EmployeeID=18)
然后會出現

報錯意思是數據表里面的身份證號現有數據有不等於18的,與檢查約束沖突,會添加失敗。
用ALTER TABLE Employee+ WITH NOCHECK可以解決。
WITH NOCHECK表示:
對表中現有的數據不做檢查,只對添加約束之后在錄入的數據進行檢查。
