2017-09-06 4 views
0

두 데이터베이스 사이에 외래 키를 만들려고합니다. 테이블에 데이터가 있으므로, 외국 관계를 만들 때 오류가 발생합니다.ALTER TABLE 문이 CHECK 제약 조건과 충돌했습니다

테이블에 데이터가있는 경우 오류가 발생하는 것으로 나타났습니다. 그렇다면 기존 데이터를 확인하지 않는 방법은 무엇입니까?

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

당신이 사용하고있는 RDBMS – SriniV

+0

먼저 데이터를 수정을? 질문은 "mysql"으로 태그가 붙어 있지만 MS SQL Server와 비슷합니다. –

+0

@IkeWalker는 SQL Server입니다. 태그가 mssql을 제안했지만 태그를 무시했습니다 –

답변

2

어떻게 기존 데이터를 확인하지?

당신은 NOCHECK 함께 추가하여 기존의 기록을 확인하지 않습니다 제약 만들 수 있습니다

ALTER TABLE TABLE_NAME WITH NOCHECK 
ADD CONSTRAINT ... 
관련 문제