GoLand 2025.2 Help

外键

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

在 GoLand 中,您可以使用显式外键或创建 虚拟外键

外键(外键 )可在 数据库 工具窗口中找到。

数据库中的外键

外键 是一张表中指向另一张表主键的字段或字段组合。 在创建或修改表时,您可以明确地定义这些键:

CREATE TABLE visitor ( id int NOT NULL, activity_id int NOT NULL, PRIMARY KEY (id), FOREIGN KEY (activity_id) REFERENCES activity(activity_id) );

包含外键的表称为子表。 包含候选键的表称为被引用表或目标表。 如果数据库中包含显式外键关系,GoLand 会在自动补全、数据导航和图示中自动使用这些关系。

在以下示例中, activity.activity_id 是主键,而 visitor.activity_id 是外键。

显式外键

创建外键

  1. 数据库 工具窗口中,展开数据源树直到显示表的节点。

  2. 右键点击表节点并选择 新建|外键

  3. 在打开的 修改 对话框中,在 名称 字段中输入外键的名称。

  4. 目标表 面板中,指定目标表的名称。

  5. 面板中,点击 添加 按钮(“添加”按钮)。

  6. 列名 字段中,指定子表中列的名称。

  7. 目标名称 字段中,指定目标表中列的名称。

  8. 预览(P) 面板中,您可以查看并修改生成的 SQL 代码。

  9. 点击 确定 来添加外键。

创建外键

效率提升技巧

修改生成的索引和键名称的模板

在创建索引、主键和外键约束时,其默认名称将根据相应模板生成。 例如,主键的模板为 {table}_{columns}_pk

  • 若要查看和修改这些模板,请打开设置 Ctrl+Alt+S ,然后导航至 编辑器| 代码样式| SQL|常规。 点击 代码生成 选项卡。

    这些模板可包含变量和文本。 在生成名称时,指定的文字会被原样复制。 例如,在 {table}_pk 模板应用于 actor 表时,生成的主键名称为 actor_pk

    如需查看关于变量及其用法的信息,点击字段并按下 Ctrl+Q

    {unique?u:} 会检查索引是否唯一,并插入相应的字符序列。 如果索引是唯一的,模板将在 ?: 之间插入字符序列来生成名称。 对于 {unique?u:} 模板,字符序列为 u。 如果索引不是唯一的,将插入 :} 之间的字符序列。 对于 {unique?u:} 模板,该值为空。

    示例

    您有一个 persons 表,其中包含列 FirstNameLastName{table}_{columns}_{unique?u:}index 模板会为非唯一索引生成如下名称: persons_FirstName_LastName_index

    修改生成的索引和键名称的模板
  • 右键单击表中的某一行或单元格,然后选择 转到|相关行

    或者,选择某个单元格,然后点击快速操作弹出工具栏上的 “相关行”图标相关行

    被引用数据与引用数据

    在数据编辑器中,您可以选择多个值并导航至相关数据。

    如需了解有关操作行为选项的更多信息,请参见 高级设置中的控件说明

最后修改日期: 2025年 9月 26日