【发布时间】:2016-11-06 21:14:34
【问题描述】:
编辑:答案是您必须在每次连接时启用外键。
SQLiteCommand command = new SQLiteCommand("PRAGMA foreign_keys = ON"
我看了一遍,没有看到与我的问题类似的问题,所以如果有答案,只需指出我的方向,我会继续……
我正在尝试创建一个表,它是另外两个表之间的关系,它存储另一个表的值。
假设表的创建语句是:
CREATE TABLE First ( FirstID Integer PRIMARY KEY, Name Text, otherThing Text)
CREATE TABLE Second ( SecondID Text PRIMARY KEY, OtherStuff VarChar(10) )
CREATE TABLE Third ( FirstID Integer, SecondID Text, SomeData Text,
FOREIGN KEY (FirstID) REFERENCES First(FirstID),
FOREIGN KEY (SecondID) REFERENCES Second(SecondID),
PRIMARY KEY ( FirstID, SecondID) )
我想要做的是创建一个插入语句,仅当 FirstID 出现在 First 中并且 SecondID 出现在 Second 中时才允许插入到 Third 中。
对我可以尝试什么有帮助吗?我尝试过(但失败了)的语法是:
INSERT INTO Third (FirstID, SecondID, SomeData) SELECT 123, "foo", "Interesting Data Here" WHERE EXISTS ( SELECT FirstID FROM First AND SELECT SecondID FROM Second)
INSERT INTO Third (FirstID, SecondID, SomeData) SELECT 123, "foo", "Interesting Data Here" WHERE EXISTS ( SELECT FirstID FROM First) AND WHERE EXISTS( SELECT SecondID FROM Second)
【问题讨论】: