【问题标题】:Do foreign keys in apache derby automatically populate a column?apache derby 中的外键是否会自动填充列?
【发布时间】:2021-01-08 09:08:35
【问题描述】:

最近我一直在尝试创建一个 RDB,我遇到的问题是我拥有的具有外键约束的列不会填充引用列的值(它将具有空值)。我设法获得正确值的唯一方法是手动填充它。
但是,我会说,外键确实阻止了我在两列中使用不同的值。
TLDR/结论:
那么,外键是否只是限制列中的值而不必填充该列?
如果是这样,实现这个目标的函数/方法是什么?
谢谢,
迈克尔

【问题讨论】:

  • 这是一个常见问题解答。请在考虑发布之前阅读您的教科书和/或手册和谷歌任何错误消息或您的问题/问题/目标的许多清晰、简洁和精确的措辞,有和没有您的特定字符串/名称和站点:stackoverflow.com 和标签;阅读许多答案。如果您发布问题,请使用一个短语作为标题。反映你的研究。请参阅How to Ask 和投票箭头鼠标悬停文本。

标签: java database foreign-keys derby embedded-database


【解决方案1】:

外键约束只是限制列中的值而不填充该列。

您的应用程序应将引用表中的外键列的值设置为被引用表中被引用列的值。

通常,行是相关的,并且您的应用程序知道它正在处理与另一个表中引用的行具有特定关系的特定行。

例如,在一个简单的劳动力管理应用程序中,您可能有表EMPLOYEEDEPARTMENT,而您的EMPLOYEE 表可能有外键列MANAGER_NAMEDEPARTMENT_NAME。为新员工插入新行时,您的数据输入表单已经要求操作员从部门列表中选择员工的部门,并从经理列表中选择员工的经理,因此您的应用程序然后设置MANAGER_NAMEDEPARTMENT_NAME 在您执行 INSERT 时使用该数据

【讨论】:

  • 太好了,谢谢。我很难找到能回答我问题的人。我一直被告知要“将其分解成块”等。一个清晰明确的答案——我们还能从计算机科学家那里得到什么?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-10-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多