2014-01-13 2 views
1

sqlite의 한 테이블에서 많은 외래 키를 사용하고 싶습니다. 그러나 그것은 단지 하나를 만듭니다. 내가 어떻게 해?하나의 테이블에 많은 외래 키 sqlite

CREATE TABLE STORES(
    SId INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, 
    SName TEXT NOT NULL 
) 

CREATE TABLE CITY(
    CId INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, 
    CName TEXT NOT NULL 
) 

CREATE TABLE PRODUCTS(
    PId INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, 
    PName TEXT NOT NULL, 
    Price REAL NOT NULL 
) 

CREATE TABLE STORE_CITY(
    CId INTEGER REFERENCES CITY(CId) NOT NULL, 
    SId INTEGER REFERENCES STORES(SId) NOT NULL, 
    PId INTEGER REFERENCES PRODUCTS(PId) 
) 
+0

[나를위한 작품] (http://www.sqlfiddle.com/#!5/8c442/3). 문제가 정확히 무엇입니까? –

+0

작동해야합니다. 하지만 sqlite 관리자에서 많은 외래 키를 사용할 수 없습니다. – user3188649

+0

SQLite Manager에서 정확히 무엇을하려고합니까? 어떤 오류가 발생합니까? –

답변

0

먼저 열을 정의한 다음 외래 키로 만듭니다.

CREATE TABLE STORE_CITY(
    CId INTEGER, 
    SId INTEGER, 
    PId INTEGER, 
    FOREIGN KEY (CId) REFERENCES CITY(CId) NOT NULL, 
    FOREIGN KEY (SId) REFERENCES STORES(SId) NOT NULL, 
    FOREIGN KEY (PId) REFERENCES PRODUCTS(PId) 
) 
+0

이것은 유효한 SQL이 아닙니다. –

+0

이것은 여전히 ​​유효한 SQL이 아닙니다. –

+0

내가 뭘 잘못하고 있니? 나는 무언가의 한가운데에 있고 나 자신을 시험 할 수 없다. – Alexander