0

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

表 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

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

4

1 回答 1

0

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

于 2013-03-22T22:40:03.903 回答