IntelliJ IDEA 2025.2 Help

外键

外键关系指定表之间的关系,并表示表之间的关系。 IntelliJ IDEA 识别数据库架构中的外键关系,并使用它们构造 JOIN 子句。 您可以在自动完成列表、数据导航和图表中看到这些关系。

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

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

数据库 中的外键

一个 foreign key是一个表中的字段或字段集合,用于引用另一个表中的primary key。 当您创建或修改表时,您可以清楚地定义这些键:

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

包含外键的表是子表。 包含候选键的表是被引用的或目标表。 如果您的数据库包含显式外键关系,IntelliJ IDEA 会自动在自动补全、数据导航和图表中使用它们。

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

显式外键

创建外键

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

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

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

  4. 在 目标表 窗格中,指定目标表的名称。

  5. 在 列 窗格中,点击 添加 按钮("添加"按钮)。

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

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

  8. 在 预览(P) 窗格中,您可以查看和更改生成的 SQL 代码。

  9. 点击 确定 以添加您的外键。

创建外键

效率提示

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

当您创建索引、主键和外键约束时,它们的默认名称是根据相应的模板生成的。 例如,对于主键,模板是 {table}_{columns}_pk。

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

    模板可以包含变量和文本。 当您生成一个名称时,指定的文本将被逐字复制。 例如,当您在 actor 表中应用 {table}_pk 模板时,生成的主键名称将是 actor_pk。

    要查看变量及其使用情况的信息,点击一个字段并按 Ctrl+Q。

    {unique?u:} 检查索引是否唯一并插入相应的字符序列。 如果索引是唯一的,模板会生成一个名称,名称中包含在 ? 和 : 之间指定的字符序列。 对于 {unique?u:} 模板,它是 u。 如果索引不唯一,序列会在 : 和 } 之间插入。 对于 {unique?u:} 模板,它是空的。

    示例

    您有一个包含列 FirstName 和 LastName 的 persons 表格。 {table}_{columns}_{unique?u:}index 模板为不唯一索引生成以下名称: persons_FirstName_LastName_index。

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

    或者,选择一个单元格并点击快速操作弹出工具栏上出现的 相关行图标相关行。

    引用数据与参考数据

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

    有关操作行为选项的更多信息,请参阅 高级设置。

2025年 9月 22日