2013-04-12 54 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)