外键
外键关系指定了表之间的关联方式,并指明了表之间的关系。 GoLand 会识别数据库架构中的外键关系,并使用这些关系构建 JOIN 子句。 您可以在自动补全列表、数据导航和图示中查看这些关系。
在 GoLand 中,您可以使用显式外键或创建 虚拟外键。
外键( )可在 数据库 工具窗口中找到。

外键 是一张表中指向另一张表主键的字段或字段组合。 在创建或修改表时,您可以明确地定义这些键:
包含外键的表称为子表。 包含候选键的表称为被引用表或目标表。 如果数据库中包含显式外键关系,GoLand 会在自动补全、数据导航和图示中自动使用这些关系。
在以下示例中, activity.activity_id 是主键,而 visitor.activity_id 是外键。
创建外键
在 数据库 工具窗口中,展开数据源树直到显示表的节点。
右键点击表节点并选择 。
在打开的 修改 对话框中,在 名称 字段中输入外键的名称。
在 目标表 面板中,指定目标表的名称。
在 列 面板中,点击 添加 按钮(
)。
在 列名 字段中,指定子表中列的名称。
在 目标名称 字段中,指定目标表中列的名称。
在 预览(P) 面板中,您可以查看并修改生成的 SQL 代码。
点击 确定 来添加外键。

效率提升技巧
修改生成的索引和键名称的模板
在创建索引、主键和外键约束时,其默认名称将根据相应模板生成。 例如,主键的模板为 {table}_{columns}_pk。
若要查看和修改这些模板,请打开设置 Ctrl+Alt+S ,然后导航至 。 点击 代码生成 选项卡。
这些模板可包含变量和文本。 在生成名称时,指定的文字会被原样复制。 例如,在
{table}_pk模板应用于actor表时,生成的主键名称为actor_pk。如需查看关于变量及其用法的信息,点击字段并按下 Ctrl+Q。
{unique?u:}会检查索引是否唯一,并插入相应的字符序列。 如果索引是唯一的,模板将在?和:之间插入字符序列来生成名称。 对于{unique?u:}模板,字符序列为u。 如果索引不是唯一的,将插入:和}之间的字符序列。 对于{unique?u:}模板,该值为空。示例
您有一个
persons表,其中包含列FirstName和LastName。{table}_{columns}_{unique?u:}index模板会为非唯一索引生成如下名称:persons_FirstName_LastName_index。
在相关数据行之间导航
右键单击表中的某一行或单元格,然后选择 。
或者,选择某个单元格,然后点击快速操作弹出工具栏上的
相关行。

在数据编辑器中,您可以选择多个值并导航至相关数据。
如需了解有关操作行为选项的更多信息,请参见 高级设置中的控件说明。