我有一个列BirthDate(date, null)
的表格。
我尝试在设计器BirthDate >= 'January 1, 1980'
中添加检查约束但出现错误:
无法添加约束' CK_MyTable'。
ALTER TABLE语句与CHECK约束" CK_MyTable"冲突。冲突发生在数据库" MyDb",table" dbo.MyTable",column' BirthDate'。
当我尝试使用此T-SQL脚本添加约束时:
ALTER TABLE dbo.MyTable
ADD CONSTRAINT BirthDate CHECK (BirthDate >= 'January 1, 1900');
我得到了同样的错误。
出了什么问题?
答案 0 :(得分:2)
您不能在表格中存在违反约束的现有行。您可以通过
解决此问题删除它们
E List K List
LMON LMPN
LMON LMPN
LMON
PLLM
PLLM
或强>
更新现有行
DELETE FROM dbo.MyTable WHERE BirthDate < '1980-01-01'
答案 1 :(得分:0)
试试这个
ALTER TABLE dbo.MyTable
ADD CONSTRAINT BirthDate WITH NOCHECK CHECK (BirthDate >= 'January 1, 1900');
除极少数情况外,我们不建议这样做。