我有下面的studidtemplates
表:
template_id
是主键
我想创建一个新表,将template_id
引用为foreign key
。它的名称为studidtemplatetextelements
。请参见下图:
我在第二个表中创建了一个列template_id
,并希望将其作为一个外键引用studidtemplates
表中的template_id
,我通过单击Constraints
选项卡中的按钮(如下图中的箭头所示)完成了此操作。
我注意到一些不同的东西。在“引用”选项中没有template_id
选项可用。请参见下图:
我错过了什么?
3条答案
按热度按时间xyhw6mcr1#
在pgAdmin 4中,步骤如下:
1.右键单击表格并选择属性。
1.在出现的对话框中,单击约束/外键。
1.单击外键表右上角的**+图标。
1.单击铅笔图标**,该图标一直位于现在显示在外键表中的新行的左侧。
1.在 General 选项卡下,给予外键命名(我遵循 {tablename}_{columnname}_fkey 的this convention)。
1.在 * 列 * 选项卡下,选择您的参考。
1.单击“本地列”右侧的**+图标。
1.单击底部的保存**按钮。
下面是截图:
r1wp621o2#
Referencing
下列出的列是属于选定表的列。您需要按如下方式更改
References
中的选定表:您使用的是哪个版本的pgAdmin?在版本1.16中,References文本框被移动到Columns选项卡:
在外键属性对话框中,“References”表文本框已移动到第三个选项卡
w8f9ii693#
对我来说,更方便的是查询工具(用于用户想要使用的特定数据库)。
单击图标或
Alt
+Shift
+Q
访问查询工具在我的例子中,我希望添加
products
(通过要添加的名为added_by
的字段)和users
(具体地说,id
)之间的关系,因此我使用ALTER TABLE
执行以下脚本现在可以看到字段
added_by
和约束products_added_by_fkey
如果检查约束的属性,将在[列]选项卡中看到以下内容
备注: