如何检查违反Sqlite的外键

时间:2016-04-23 19:41:14

标签: database sqlite database-design foreign-keys relational-database

我有两个表,第一个是:

CREATE TABLE `Material_Type` (
    `Material_Type_ID`  integer NOT NULL PRIMARY KEY AUTOINCREMENT,
    `Material_Type` nvarchar NOT NULL,
    `Material_Type_Description` nvarchar
);

,第二个表是:

CREATE TABLE `Material` (
    `Material_ID`   integer NOT NULL PRIMARY KEY AUTOINCREMENT,
    `Material_Name` nvarchar NOT NULL,
    `Material_Description`  nvarchar,
    `Material_Picture`  BLOB,
    `Material_Type_ID`  integer NOT NULL,
    FOREIGN KEY(`Material_Type_ID`) REFERENCES `Material_Type`(`Material_Type_ID`)
);

enter image description here

我的问题是,当我将Material_Type_ID插入材质表时,Sqlite不会检查是否违反了外键。 例如,我有

Material_Type_ID Material_Type Material_Descriptio 1第一材料第一描述 2第二个Mmaterial第二个描述

当我在Material(Material_Type_ID)中插入20时不会产生任何错误。 我设置PRAGMA foreign_keys = ON;但没有改变 你能帮我设置这个验证吗?提前致谢

0 个答案:

没有答案