【发布时间】:2013-07-23 17:30:07
【问题描述】:
晚上好
我一直在开发一个小型应用程序,但有点卡在 SQLite 外键约束上。基本上我所拥有的是一个“HostLookuptable”
CREATE TABLE tblHostLookup (
HostID INTEGER PRIMARY KEY AUTOINCREMENT,
HostName TEXT);
还有一个“ScanLookuptable”作为
CREATE TABLE tblScanLookup (
ScanID INTEGER PRIMARY KEY AUTOINCREMENT,
ScanDate TEXT);
然后有另一个表将在两个表之间映射为“ScanHistorytable”
CREATE TABLE tblScanHistory (
ScanHistoryID INTEGER PRIMARY KEY AUTOINCREMENT,
HostID INTEGER,
FOREIGN KEY(HostID) REFERENCES tblHostLookup(HostID),
ScanID INTEGER,
FOREIGN KEY(ScanID) REFERENCES tblScanLookup(ScanID));
但我一直收到错误提示
Syntax error near ScanID
为什么会这样?我们不允许在一张表中有多个外键吗?在这方面的任何帮助都会很棒。
谢谢
【问题讨论】:
-
如果是外键限制,则尝试删除 HostID 外键,看看会发生什么。
-
@MarcB 它可以完美地使用一个外键...但是我们真的不允许拥有多个外键吗?
-
没有看到任何关于 FK 数量限制 (sqlite.org/foreignkeys.html) 的内容,因此也许开始查看其中是否有任何可能导致解析错误的不可见字符,例如在第一个 HostID 外键行之后。尝试重新输入整个创建查询。
-
@MarcB No.. 它不工作:(
标签: sqlite foreign-key-relationship