외래키 제약사항 생성 시.

by 열쓰 posted Nov 30, 2021


* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.

OS
Window7 32bit, Linux 64bit 등
CUBRID Ver.
[cubrid_rel] 수행 결과
CUBRID TOOL Ver.
[도움말]-[버전정보] 확인
응용 환경(API)
java, php, odbc 등 입력


* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.

 

에러 내용 및 재현 방법 재현 가능한 Source와 SQL
관련 테이블(인덱스, 키정보 포함) 정보 CUBRID 홈 디렉토리 아래 log 디렉토리 압축


-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------
안녕하세요 

아래와같이 외래키 제약사항을 만들었습니다.

 

CREATE TABLE "TABLE9" (

"COL" VARCHAR NOT NULL,

"COL2" VARCHAR NOT NULL

);

 

 

ALTER TABLE "TABLE9"

ADD CONSTRAINT "PK_TABLE9"

PRIMARY KEY (

"COL",  

"COL2" 

);

 

 

ALTER TABLE "TABLE9"

ADD CONSTRAINT "FK_TABLE8_TO_TABLE9"

FOREIGN KEY (

"COL",  

"COL2" 

)

REFERENCES "MY_SCHEMA"."TABLE8" ( 

"COL",  

"COL2" 

);

 

그리고 다음과 같이 조회하였습니다.

 

SELECT

  *

FROM db_class AS db_class

LEFT JOIN db_index AS `db_index`

ON db_class.class_name = db_index.class_name

LEFT JOIN db_index_key AS db_index_key

ON db_class.class_name = db_index_key.class_name

WHERE`db_class`.class_type = 'CLASS'

AND `db_class`.is_system_class = 'NO'

AND `db_index_key`.INDEX_name IS not NULL

AND (SELECT database()) = 'demodb'                         

AND `db_index`.class_name = 'table9'                     

AND `db_index`.is_unique = 'NO'                         

GROUP BY

  `db_index`.index_name

 

fk_table8_to_table9 라는 이름으로 CONSTRAINT를 만들었으나 인덱스이름으로 생성이 되었습니다.

1. 제약사항만 만들고, 인덱스는 지정하지 않고싶은데, 어떻게 해야하는지 예시를 알려주세요!

2. 제약사항을 만들고 추후 외래키에 인덱스 지정시 방법알려주세요!

 

Cubrid 9, 10, 11 전부다 그렇습니다..

 

TAG •

Articles

7 8 9 10 11 12 13 14 15 16