【问题标题】:Mapping the primary key and foreign key映射主键和外键
【发布时间】:2019-09-13 13:57:16
【问题描述】:

我已经创建了一个员工表

Emp_ID(Primary key), Emp_Name, Address,Designation,Manager_ID(Foreign Key).

外键与主键映射。在经理 ID 列中,我正在输入他/她的经理的 ID。这意味着会有很多员工具有相同的经理 ID。 现在我面临的问题是它会在员工 ID 和经理 ID 之间产生冲突。

我将如何维护数据库。

【问题讨论】:

  • maintain 是什么意思?
  • 为什么要让Manager_ID作为FK,在同一个表中引用EMP_ID?如果您需要参考向经理报告的 EMP_ID,我们可以使用自加入。
  • 假设有一个员工 ID 为 10,经理 ID 为 20,他是一个团队的经理。还有另一个员工 ID 为 12 的员工,他向经理 ID 20 报告,我需要在他的经理 ID 列中输入他的经理 ID。现在员工 id 12 的主键和外键发生冲突。

标签: sql database datatable foreign-keys primary-key


【解决方案1】:

您可以尝试以下插入查询

INSERT INTO employee(Emp_ID, Emp_Name, Address,Designation,Manager_ID) values(1,"xyz","ABC","Engineer",(select manager_id from manager where id = 1))

【讨论】:

  • 嗨,请不要犹豫解释为什么它可以解决问题并提供一些文档链接;)
  • 当他试图将经理 ID 作为外键输入到属于其他表的员工表中时。我认为这会有所帮助。谢谢
  • 感谢您的解释。将所有这些都包含在您的答案中会很好,以便为其他人提供更好的文档。随意编辑您的答案,使其更易于理解;)
猜你喜欢
  • 2015-02-03
  • 2019-04-22
  • 1970-01-01
  • 2017-01-30
  • 1970-01-01
  • 1970-01-01
  • 2014-05-26
  • 1970-01-01
  • 2016-06-15
相关资源
最近更新 更多