ALTER TABLE语句与CHECK约束冲突

时间:2017-09-06 13:23:18

标签: sql sql-server database foreign-keys

我想在两个数据库之间创建一个外键。发生表有数据,所以当我做外国关系时,会给我错误。

我发现当您的表有数据时会发生错误。那么如何验证现有数据?

ALTER TABLE [contrato_sigob].[relacion_institucion_categoria]
ADD CONSTRAINT CHECK_CATEGORIA
CHECK([dbo].[func_CHECK_CATEGORIA](id_categoria)=1);

错误说:

The ALTER TABLE statement conflicted with the CHECK constraint "CHECK_CATEGORIA". The conflict occurred in database "SIGOB_Contraloria", table "contrato_sigob.relacion_institucion_categoria", column 'id_categoria'.

1 个答案:

答案 0 :(得分:2)

  

那么如何验证现有数据?

您可以通过添加WITH NOCHECK:

来创建不会检查现有记录的约束
ALTER TABLE TABLE_NAME WITH NOCHECK 
ADD CONSTRAINT ...