我正在尝试在三个表之间创建关系,但由于某些未指定的原因,它似乎失败了。当我创建一对一的关系时,它可以工作,但它有多个工作,但是有太多的工作失败了。简而言之,这是我的布局:
表1有两个字段,name
是一些文本,linkId
是一个非唯一的整数。
表3有两个字段,stat
是文本,statId
是非唯一整数。
表2是链接表,它有两个字段linkId
和statId
,它们都是唯一的,都引用了表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
唯一,那么它可以工作,但这不是我希望它工作的方式。
答案 0 :(得分:0)
问题是SQLITE不支持引用表列不唯一的外键。我稍微更改了我的表格布局,现在可以正常工作。