我有一个包含两个链接列的表,一个强制布尔值和一个可选日期。布尔值为FALSE时只能有一个日期。所以我有这样的结构:更新时的约束违规
CREATE TABLE FOO (
FOO_ID INT IDENTITY(1, 1) NOT NULL,
MY_DATE DATETIME,
MY_BOOLEAN BIT DEFAULT 0 NOT NULL,
CONSTRAINT FOO_PK PRIMARY KEY (FOO_ID)
);
而且我已经写了这个限制,以保持数据的完整性:
ALTER TABLE FOO
ADD CONSTRAINT FOO_CHK CHECK (
MY_BOOLEAN=0 OR MY_DATE IS NULL
);
我必须失去了一些东西很明显,但事实是,我无法运行此更新查询:
UPDATE FOO
SET
MY_BOOLEAN=1,
MY_DATE=NULL
WHERE FOO_ID=31416
我得到一个检查约束冲突错误,更新失败。我究竟做错了什么?
UPDATE
很遗憾地告诉我已经输错列名...对不起,浪费你的时间。我希望我能删除的问题:_(
错误应该告诉**哪个**约束失败,是否说'FOO_CHK'是原因? –
InstrucciónUPDATE en contrto con lalaracciónCHECK“FOO_CHK”。El conflicto ha_aparecido en la base de datos“MY_DATABASE”,tabla“dbo.FOO”。 –