SQLITE中的外键失败

时间:2013-03-22 20:54:06

标签: c# sqlite

我正在尝试在三个表之间创建关系,但由于某些未指定的原因,它似乎失败了。当我创建一对一的关系时,它可以工作,但它有多个工作,但是有太多的工作失败了。简而言之,这是我的布局:

表1有两个字段,name是一些文本,linkId是一个非唯一的整数。

表3有两个字段,stat是文本,statId是非唯一整数。

表2是链接表,它有两个字段linkIdstatId,它们都是唯一的,都引用了表1和表3中的相应值。

所以一些测试数据:

表1:

name   linkId
"Test 1"   1
"Test 2"   1
"Test 3"   1
"Test 4"   1
"Test 5"   1

表3:

stat linkId
"strength" 1
"intelligence" 1
"dexterity" 1

表2:

linkId statId
1         1

为什么会失败?表2中的1不应该引用其他表中的1吗?请注意,如果我使表1字段linkId唯一,那么它可以工作,但这不是我希望它工作的方式。

1 个答案:

答案 0 :(得分:0)

问题是SQLITE不支持引用表列不唯一的外键。我稍微更改了我的表格布局,现在可以正常工作。