链接表上的语法错误

时间:2014-02-26 18:13:32

标签: sql sqlite foreign-keys

我在使用链接表时遇到了一些麻烦。 我从下面的代码中得到一个“错误:接近”BookName“:语法错误”:

CREATE TABLE word_book (
WordName TEXT(25), FOREIGN KEY (WordName) REFERENCES word (WordName)
BookName TEXT(25), FOREIGN KEY (BookName) REFERENCES book (BookName)
PRIMARY KEY (WordName, BookName));

我能够成功创建表bookwordbook表包含列BookName,表word包含列WordName

1 个答案:

答案 0 :(得分:0)

此语句在FOREIGN KEY约束后缺少逗号。 此外,SQL要求所有表约束都在所有列之后。

重新排序:

CREATE TABLE word_book (
    WordName TEXT(25),
    BookName TEXT(25),
    FOREIGN KEY (WordName) REFERENCES word (WordName),
    FOREIGN KEY (BookName) REFERENCES book (BookName),
    PRIMARY KEY (WordName, BookName)
);

或者改为使用列约束:

CREATE TABLE word_book (
    WordName TEXT(25) REFERENCES word (WordName),
    BookName TEXT(25) REFERENCES book (BookName),
    PRIMARY KEY (WordName, BookName)
);