【问题标题】:One foreign key in one table for 2 different fields一个表中的一个外键用于 2 个不同的字段
【发布时间】:2012-11-30 19:00:01
【问题描述】:

有没有办法让我在一个表中只创建一个外键来引用同一个表中的 2 个不同字段

示例: 表:家庭

ID |鸟| 高分辨率照片| CLIPARTO鸟妈妈 |鸟爸爸

1___X_____2___ ____3

2____A____4 em>________5

3____B

4____月

5____N

ID 是主要和自动增量,也是“bird_mom”和“bird_dad”字段的外键。 因此,当我更改条目 X、A、B、M、N 时,我不需要在任何地方更改它,但它始终会被外键 ID 识别

【问题讨论】:

  • 你可以添加两个外键。一个在bird_mom 上,一个在bird_dad 上,都引用了ID。

标签: c# database sqlite foreign-keys


【解决方案1】:

通常,“foreign key”是指向父字段的子字段的名称,因此您将有两个外键:

CREATE TABLE family (
    ID INTEGER PRIMARY KEY,
    bird TEXT,
    bird_mom INTEGER REFERENCES family(ID),
    bird_dad INTEGER REFERENCES family(ID)
)

【讨论】:

  • 谢谢。所以当我想访问 bird_mom 时,我应该使用 ID.bird_mom 对吗?
  • 没有名为ID 的表。如果您有新问题,请将其作为问题提出。 (但我猜你应该先查找“self join”。)
猜你喜欢
  • 1970-01-01
  • 2020-03-22
  • 1970-01-01
  • 2011-08-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多