SQLite - 外键不起作用(是的,它已启用)



由于某些原因,我无法使用FOREIGN KEY。

尽管"ad_ids"表为空,但对primary_species的任何INSERT操作都将通过。

EDIT:由于某种原因,在使用DB Browser时不会执行INSERT,但我的python脚本轻松地通过了该约束,能够保存数据。。。


主表:

CREATE TABLE "ad_ids" (
"ad_id" INTEGER,
"ad_url"    TEXT,
PRIMARY KEY("ad_id")
)

辅助表:

CREATE TABLE "primary_specs" (
"ad_id" INTEGER,
"version"   TEXT,
"year"  INTEGER,
PRIMARY KEY("ad_id"),
FOREIGN KEY("ad_id")
REFERENCES ad_ids("ad_id")
)

PRAGMA foreign_key_list(primary_specs);

退货:

id    seq    table    from       to    on_update    on_delete    match
0      0   ad_ids   ad_id    ad_id    NO ACTION    NO ACTION     NONE

PRAGMA foreign_keys

返回1个

显然PRAGMA foreign_keys = ON;应用于连接,而不是数据库。

最新更新