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

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

表1:

parent_id string_id
5001      a
8759      b
3957      c

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

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

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

INSERT INTO table_2 (string_id)
VALUES ('a'),
       ('b'),
       ('c')

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

vxf3dgd4

vxf3dgd41#

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

相关问题