如何在 phpmyadmin 中创建外键

新手上路,请多包涵

我想让医生在我的病人表中成为外键。

所以我创建了所有表 - 主要问题是当我转到表 > 结构 > 关系视图时,只有主键出现,我可以创建一个外键(它已经是某个表的主键我想保留 - 即患者表患者已启用更改,但医生 ID - 我也有医生表 - 未启用)。

我在关系视图中有另一个带有两个复合键(medicineid 和 patientid)的表,它使我能够同时更改

我是否必须将患者表中的医生 ID 索引改为其他内容?两者都不能是主键,因为患者 ID 是患者表的主键 - 医生是外国人。

桌子

我希望任何人都可以提供帮助

亲切的问候

原文由 laurajs 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 657
2 个回答

你可以用老式的方式来做……使用看起来像这样的 SQL 语句

ALTER TABLE table_1_name
    ADD CONSTRAINT fk_foreign_key_name
    FOREIGN KEY (table_1_column_name)
    REFERENCES target_table(target_table_column_name);

For example: If you have books table with column created_by which refers to column id in users table:

 ALTER TABLE books
    ADD CONSTRAINT books_FK_1
    FOREIGN KEY (created_by)
    REFERENCES users(id);

这假设键已经存在于相关表中

原文由 Jon Story 发布,翻译遵循 CC BY-SA 4.0 许可协议

为了能够创建关系,表 Storage Engine 必须是 InnoDB 。您可以在 操作 选项卡中进行编辑。 存储引擎配置

然后,您需要确保主表中的 id 列已被索引。它应该出现在 结构 选项卡的 索引 部分。

索引列表

最后,您可以在“ _结构_”选项卡中看到“ _关系视图_”选项。编辑时,您将能够选择外表中的父列来创建关系。

在此处输入图像描述

见附件。我希望这对任何人都有用。

原文由 Sky Games Inc 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题