* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
Window10 | |
cubrid-jdbc-10.1.0.7663 | |
DBeaver 7.1.1 | |
java |
* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.
에러 내용 및 재현 방법 | 재현 가능한 Source와 SQL |
관련 테이블(인덱스, 키정보 포함) 정보 | CUBRID 홈 디렉토리 아래 log 디렉토리 압축 |
-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------
참고 https://www.cubrid.org/manual/ko/9.3.0/sql/schema/table.html#add-constraint
ALTER [TABLE | CLASS | VCLASS | VIEW] table_name ADD <table_constraint> ; <table_constraint> ::= [CONSTRAINT [constraint_name]] { UNIQUE [KEY|INDEX](column_name, ...) | {KEY|INDEX} [constraint_name](column_name, ...) | PRIMARY KEY (column_name, ...) | <referential_constraint> } <referential_constraint> ::= FOREIGN KEY [foreign_key_name](column_name, ...) <referential_definition> >>> referential_constraint 부분의 foreign_key_name 이 FOREIGN KEY 뒷부분으로 오는 건가요? <referential_definition> ::= REFERENCES [referenced_table_name] (column_name, ...) [<referential_triggered_action> ...] <referential_triggered_action> ::= ON UPDATE <referential_action> | ON DELETE <referential_action> <referential_action> ::= CASCADE | RESTRICT | NO ACTION | SET NULL
ALTER TABLE table_name ADD CONSTRAINT foreign_key_name FOREIGN KEY (column_name) REFERENCES referenced_table_name (column_name) ON DELETE RESTRICT ON UPDATE restrict;
ALTER TABLE table_name ADD CONSTRAINT FOREIGN KEY foreign_key_name (column_name) REFERENCES referenced_table_name (column_name) ON DELETE RESTRICT ON UPDATE restrict;
발생한 오류 내용입니다.
>>> SQL Error: The constraint of the foreign key 'foreign_key_name ' is invalid, due to value ''''.
즉, 외래키를 만드려는 테이블의 컬럼에 있는 값 중에 실제로 참조하려는 테이블에 값이 존재하지 않을 경우 발생하는 에러입니다.
해당하는 값은 에러 메세지에서 due to value 'XXXX'의 XXXX 부분입니다.
외래키를 만드려는 칼럼의 값을 확인해서 참조하려는 테이블의 없는 값이 있는지 확인해보시기 바랍니다.