为什么Sqlite允许我在table2中插入一个与table1中的任何主键不匹配的外键? 我使用的是.NET和System.Data.SQLite.dll
这是我的设置:
create table [table1] (
[Id] integer primary key NOT NULL
, [col1] nvarchar(100) NULL
);
create table [table2] (
[Id] integer primary key NOT NULL
, [col2] integer NOT NULL
, FOREIGN KEY(col2) REFERENCES table1(Id)
);
INSERT INTO [table1] ([col1]) VALUES ('val1');
INSERT INTO [table2] ([col2]) VALUES ('2');
答案 0 :(得分:1)
在连接字符串中启用外键约束,如下所示:“Data Source =:memory :; foreign keys = true;”