sqlite – 外键约束不起作用

前端之家收集整理的这篇文章主要介绍了sqlite – 外键约束不起作用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有两张桌子,主题和测验,这里是他们的定义:
CREATE TABLE "theme" ("id" INTEGER PRIMARY KEY  AUTOINCREMENT  NOT NULL,"nom" VARCHAR NOT NULL );

CREATE TABLE quiz(

     id              INTEGER PRIMARY KEY,nom         VARCHAR(256) NOT NULL,theme      INTEGER NOT NULL,niveau      INTEGER NOT NULL,pass          INTEGER DEFAULT 1  NOT NULL,jok            INTEGER DEFAULT 1 NOT NULL,etat            INTEGER DEFAULT 0 NOT NULL,FOREIGN KEY (theme) REFERENCES theme(id)
);

表格主题中的字段ID(主键)是测验表中的外键。
当我尝试在包含值30的表格测验中插入记录,例如作为外键时,尽管在id = 30的主题表中没有记录,但记录已成功插入到测验表中,我的意思是,不应该阻止这个插入,因为我有一个外键约束?

您确定启用了 foreign key support吗?

Assuming the library is compiled with foreign key constraints enabled,
it must still be enabled by the application at runtime,using the
PRAGMA foreign_keys command. For example:

sqlite> PRAGMA foreign_keys = ON;

猜你在找的Sqlite相关文章