2013-10-24 3 views
0

나는 새로운 횡단 보도/접합 테이블 (synonyms)이 만들려고하고있다 : (다른 테이블에 외래 키 모두)이 SQL 테이블 생성에 대한 제약 조건에는 어떤 문제가 있습니까?

  1. 이 ID의 쌍으로 구성을;

    CREATE TABLE synonyms (
        base_word_id INTEGER NOT NULL, 
        synonym_id INTEGER NOT NULL, 
    
        CONSTRAINT fk_words_based_id FOREIGN KEY (base_word_id) REFERENCES words(word_id) 
    ); 
    

    words 표 (당신이 그것을 짐작) 포함하고

  2. 는 (한 쌍)을 모두 ID가 테이블 여기

에 고유해야 이러한 고유성 제약 조건을 가지고 나의 SQL입니다 , 해당 단어에 대한 단어 및 메타 데이터. synonyms 테이블은 다른 단어 인 단어와 해당 동의어의 관계를 유지하는 다 대다 테이블입니다. synonym_idbase_word_id으로 표시된 단어의 동의어 인 단어의 ID입니다. WORDS 테이블 아니다, 내 DB에서

Error: Table "WORDS" not found; SQL statement: 
CREATE TABLE synonyms(
base_word_id INTEGER NOT NULL, 
synonym_id INTEGER NOT NULL, 

CONSTRAINT fk_words_based_id FOREIGN KEY (base_word_id) REFERENCES words(word_id) 
) [42102-173] 
SQLState: 42S02 
ErrorCode: 42102 

하지만 words은 다음과 같습니다 H2 DB에 대하여

나는 다음과 같은 오류가 발생합니다. 그래서 H2는 상단 케이스가 words ~ WORDS 일 것입니다.

답변

0

그것은이 같은 테이블 "단어를"생성과 같습니다

create table "words"(...) 

그런 다음 테이블 이름은 대소 문자를 구분하고, 당신은 항상 그것을 인용 할 것이다, 그렇게한다면

. 이를 방지하려면 큰 따옴표없이 표를 만듭니다.

create table words(...)