基于外键约束自动填充sql列

wyyhbhjk  于 2021-07-29  发布在  Java
关注(0)|答案(1)|浏览(376)

表1:

  1. parent_id string_id
  2. 5001 a
  3. 8759 b
  4. 3957 c

字符串\u id是表1的主键。父项id有一个唯一的约束。
表2:

  1. child_id parent_id string_id
  2. 1 5001 a
  3. 2 8759 b
  4. 3 3957 c

child\u id是表2的主键。字符串\u id是表1的外键。
当我将新行填充到表2中时,我不想通过加入/合并表1在查询中插入父级\u id。

  1. INSERT INTO table_2 (string_id)
  2. VALUES ('a'),
  3. ('b'),
  4. ('c')

有没有人能给我一些建议,sql是否可以通过使用内置关系(例如约束、外键、级联)自动填充父级id?如果加入是唯一的方法,你能告诉我这样我就可以停止调查了吗?
基本上,我想知道解决这个问题最优雅的方法是什么。我可以使用join和insert,但我认为对于这样一个简单的功能来说,这是一个丑陋的查询。
谢谢您。

vxf3dgd4

vxf3dgd41#

这太长了,不能发表评论。
存储带有外键约束的表的目的是不需要复制数据。然后,sql提供 JOIN 用于查找值。
我强烈建议你 JOIN 查找 parent_id 当你需要的时候。如果愿意,可以编写一次查询并使用 JOIN --然后任何使用视图的人都会有 parent_id .

相关问题