【发布时间】:2021-05-23 09:10:05
【问题描述】:
我正在使用 DataGrip 和 sqlite。
我有一张桌子 suppliers 和另一张名为 products 的桌子:
CREATE TABLE Suppliers (id INTEGER NOT NULL PRIMARY KEY,
nom TEXT,
siege_social TEXT);
CREATE TABLE Products (id INTEGER NOT NULL PRIMARY KEY,
nom TEXT,
prix REAL,
supplier INTEGER,
FOREIGN KEY (supplier) REFERENCES Suppliers(id)
);
我尝试PRAGMA foreign_keys = ON; 像我的老师一样激活外键约束。
但是,当我尝试在供应商表为空的情况下插入产品时,我没有收到任何错误:
INSERT INTO Products values (1, "Lunettes Cobra", 30, 1);
我期待这个:FOREIGN KEY constraint failed
你知道我怎样才能让它为此引发错误吗?
谢谢!
【问题讨论】:
-
贴出你试过的代码。
-
@forpas 我添加了我使用的插入行,这是你想要的吗?
-
没有。我的意思是打开 foreign_keys 并插入行的完整代码。
-
好的,我重新创建了表格,得到了:
[2021-05-23 12:02:26] [19] [SQLITE_CONSTRAINT_FOREIGNKEY] A foreign key constraint failed (FOREIGN KEY constraint failed)
标签: sql sqlite foreign-keys datagrip