【发布时间】:2016-11-29 10:15:43
【问题描述】:
基于https://www.sqlite.org/foreignkeys.html,我认为在 SQLite 中执行此 SQL 的最后一行时会出现外键约束错误,但它只是将其全部吞下并继续前进。这是为什么呢?
CREATE TABLE Person (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name VARCHAR(100)
);
CREATE TABLE Child (
parent_id INTEGER,
child_id INTEGER,
FOREIGN KEY (parent_id) REFERENCES Person(id),
FOREIGN KEY (child_id) REFERENCES Person(id)
);
INSERT INTO Person(name)
VALUES ('John Doe');
INSERT INTO Person(name)
VALUES ('Clara Doe');
INSERT INTO Child(parent_id, child_id) VALUES (45, 50);
【问题讨论】:
-
您可能需要在其他查询之前运行
PRAGMA foreign_keys = ON;。