2013-04-12 3 views
2

최근 SQLite를 사용하기 시작했는데 (SQLite를 사용하기 시작했을 때) SQLite에 대한 두 가지 제한이있었습니다. 같은 테이블에서 외래 키를 만들 수는 없습니까? 예 : 이것은 내 코드입니다 :같은 테이블에 외래 키 만들기 SQLite

CREATE TABLE Categories 
(
    name varchar(20), 
    parent_category varchar(20) NULL, 
    PRIMARY KEY(name), 
    FOREIGN KEY parent_category_fk(parent_category) REFERENCES Categories(name) 
) 

그러나 SQLiteStudio에서 SQL을 실행하려고하면 외래 키에 대한 오류가 발생합니다.

왜 이것이 작동하지 않는지 아는 사람이 있습니까?

답변

2

문제는 FK 절에 대한 구문이 잘못되었습니다. 그것은해야한다 :

FOREIGN KEY (parent_category) REFERENCES Categories(name) 

는 FK 제약 조건의 이름을하려는 경우, 당신은 할 그이 같은 CONSTRAINT 키워드의 접두사와 :

CONSTRAINT parent_category_fk FOREIGN KEY (parent_category) REFERENCES Categories(name)