我想在两个数据库之间创建一个外键。碰巧表有数据,所以当我建立外部关系时,就会出现错误。
我发现当您的表有数据时会发生错误。那么如何不验证现有数据呢?
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'.
最佳答案
So how to not verify existing data?
您可以通过添加 WITH NOCHECK 创建一个不会检查现有记录的约束:
ALTER TABLE TABLE_NAME WITH NOCHECK
ADD CONSTRAINT ...
关于sql - ALTER TABLE 语句与 CHECK 约束冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46076472/