sql - 在 PgAdmin 中添加外键

标签 sql postgresql foreign-keys pgadmin

我在下面有studidtemplates 表:

enter image description here

template_id 是主键

enter image description here

我想创建一个引用 template_id 作为外键 的新表。它被命名为 studidtemplatetextelements。见下图:

enter image description here

我在第二个表中创建了一个列template_id,并希望将其作为外键引用studidtemplates 表中的template_id。我通过单击 Constraints 选项卡中的按钮来完成此操作,在下图中由箭头指向。

enter image description here

我注意到有些不同。在“引用”选项中,没有可用的 template_id 选项。见下图:

enter image description here

我哪里漏了?

最佳答案

在 pgAdmin 4 中,步骤如下:

  1. 右键单击表格并选择属性
  2. 在出现的对话框中,点击约束/外键
  3. 单击外键表右上角的 + 图标。
  4. 点击铅笔图标,它位于现在出现在外键表中的新行的最左侧。
  5. General 选项卡下,为您的外键命名(我遵循 {tablename}_{columnname}_fkeythis convention)。
  6. 选项卡下,选择您的引用文献。
  7. 点击“本地列”右侧的 + 图标。
  8. 点击底部的保存按钮。

截图如下:

pgAdmin 4 foreign key dialog

关于sql - 在 PgAdmin 中添加外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34584356/

相关文章:

具有软删除、唯一键和外键约束的 MySQL

mysql - 具有复合主键的外键在 MySql 中不起作用

mysql - 多个表中的相同外键

mysql - B 树中的最小占用率是多少?

mysql - 减少每行的案例结果数量

sql - 如何在 SQL 中重用子查询的结果

postgresql - 使用 Supervisord 运行 PostgreSQL

sql - 将自动增量 id 重构为 **SQL DB 中的 GUID

c# - 针对列截断数据,但截断的数据是空的 C#/MySql

postgresql - 将数据插入 Postgresql 的存储过程