sql - 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)
);
解决方案
--FOREIGN KEY column
FOREIGN KEY(column)
我放了括号,它起作用了。我认为你会因为你已经插入表而出错。如果这些表存在,请删除它们并重试。
推荐阅读
- vapor - 需要 ID 属性名称的 Vapor 4 关系和模型
- python - 将字符串系列与字符串列表进行比较并获取子字符串匹配项
- c# - 使用自定义命名空间中的数组反序列化 XML
- c++ - C ++将字符串转换为int
- flutter - 背景模糊不更新
- javascript - 在将图像源作为属性传递的组件中反应延迟加载图像
- c - 在 C < char (*(*f())[]) () > 中实现复杂构造时出错
- python - Python selenium 切换到 iframe 问题
- codeigniter - get_where codeigniter 返回表中单个列的值
- javascript - Highchart 不从动态创建的数组中渲染数据