2016-05-22 16 views
0

なぜSqliteはtable2の外部キーをtable2の主キーと一致しないものに挿入できますか? は、私がここで.NETとSystem.Data.SQLite.dllSqlite外部キーの挿入が失敗する必要があります

を使用しています私の設定です:

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'); 

SQLのフィドル:http://sqlfiddle.com/#!7/4fccc/1/0

+0

"Data Source =:memory:; foreign keys = true;"というように、接続文字列の外部キー制約を有効にして解決しましたが、重複しているようです。 – rlee

答えて

0

そうのような接続文字列に外部キー制約を有効にします。 "データソース=:メモリ:;外部キー=真;"

関連する問題