首页 > 解决方案 > SQLite FOREIGN KEY REFERENCE 导致语法错误

问题描述

我有以下 SQL 语句,这是我的代码的一个最小示例。我收到语法错误,并设法将其缩小到被注释掉的行。当该行被注释掉时,代码可以正常工作,否则会引发语法错误。我已经检查过它并尝试更改使用的名称,但仍然无法避免错误,我不知道是什么原因造成的,因为该行似乎与另一FOREIGN KEY行实际上相同。我正在尝试在新的 SQLite 实例中运行它,因此启动 SQLite 命令行并输入以下命令:

CREATE TABLE Xlanguage 
(
    id INTEGER PRIMARY KEY,
    xname VARCHAR(30)
);

CREATE TABLE LibraryType 
(
    id INTEGER PRIMARY KEY,
    xname VARCHAR(30)
);

CREATE TABLE Library 
(
    id INTEGER PRIMARY KEY,
    languageId INTEGER,
    -- FOREIGN KEY languageId REFERENCES Xlanguage(id),
    libraryTypeId INTEGER,
    FOREIGN KEY(libraryTypeId) REFERENCES LibraryType(id)
);

标签: sqlsqliteforeign-keyssyntax-error

解决方案


--FOREIGN KEY column
FOREIGN KEY(column)

我放了括号,它起作用了。我认为你会因为你已经插入表而出错。如果这些表存在,请删除它们并重试。


推荐阅读