寻找对此的新视角,我正在 sqlite3 交互式中运行命令,但看不到问题。这是代码:
CREATE TABLE Personas(
PersonID INTEGER NOT NULL PRIMARY KEY,
FirstNameAtBirth TEXT,
LastNameAtBirth TEXT,
MidNameAtBirth TEXT,
discordID TEXT,
githubID TEXT
);
^ 执行成功,
CREATE TABLE Conversations(
ConvoID INTEGER NOT NULL PRIMARY KEY,
FOREIGN KEY(PersonID) REFERENCES Personas(PersonID),
BodyText TEXT,
Timestamp DATETIME DEFAULT CURRENT_TIMESTAMP,
Reactions TEXT
);
^ 失败,Error: in prepare, unknown column "PersonID" in foreign key definition (1)
我在一个活动数据库中,我PRAGMA foreign_keys=ON;
在任何事务之前都设置过,知道问题出在哪里吗?
您还需要表对话中的 PersonID 列,因为它是引用的值,并且
Foreign key
只是 PersonID 列的约束。表示只能添加Personas中存在的PersonId
✓
✓小提琴