【问题标题】:PostgreSQL - Foreign Key referencing multiple tablesPostgreSQL - 引用多个表的外键
【发布时间】:2018-07-02 13:55:33
【问题描述】:

我在 postgres 数据库中遇到了这个问题。 我有四个位置数据表(医院、学校、市场和警察局),它们之间略有不同,还有一个包含位置列的事件报告表,引用一个位置。

我如何才能对可以在任何位置表中的 id 进行此引用? 我试图引用它们的父表,但插入返回“表中不存在键”的错误

谢谢

【问题讨论】:

  • 你的方法是正确的——你需要一个父位置表。这个错误究竟是什么时候出现的?
  • 当我尝试在事件报告表中插入数据时。由于数据在子表中,dbms找不到父表引用的id
  • 如果你使用 PostgreSQL 的继承,这是已知的限制postgresql.org/docs/current/static/…
  • 不使用 PostgreSQL 的继承创建父表。然后你可以从所有的孩子和事件报告表中引用它。

标签: postgresql database-design


【解决方案1】:

根据Kouber Saparev 的建议,我删除了继承并使用外键从子项中引用父项。它现在运行良好。

【讨论】:

  • 从 OO 建模的角度来看,这是什么样的?您如何在应用程序中定义/使用这些模型?
猜你喜欢
  • 2021-09-12
  • 1970-01-01
  • 2012-06-18
  • 1970-01-01
  • 2018-03-25
  • 2018-02-21
  • 2014-10-15
  • 1970-01-01
相关资源
最近更新 更多