Kha*_*l B 7 sql-server constraint alter-table ddl sql-server-2012
我需要检查datecom
小于datelivr
create table Commande
(
Numcom int identity primary key,
Datecom date,
Datelivr date,
Codecli int foreign key references clients (Codecli)
)
alter table Commande
add constraint date_check check(datediff(day,Datecom,Datelivr) > 0)
Run Code Online (Sandbox Code Playgroud)
但我收到错误消息:
ALTER TABLE 语句与 CHECK 约束“date_check”冲突。冲突发生在数据库“tp4”,表“dbo.Commande”中。
这怎么会发生?
错误消息是不言自明的:您的检查约束试图强制执行中的所有值Datecom
至少早于 一天Datelivr
,但您必须至少有一行不正确 - 要么Datecom
是同一天,要么是之后其中一个值是NULL
。使用以下方法查找这些行:
SELECT Numcom, Datecom, Datelivr
FROM dbo.Commade
WHERE datediff(day,Datecom,Datelivr) <= 0
OR Datecom IS NULL
OR Datelivr IS NULL;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
14153 次 |
最近记录: |