基于外键约束自动填充SQL列
表1:基于外键约束自动填充SQL列,sql,postgresql,psycopg2,Sql,Postgresql,Psycopg2,表1: parent_id string_id 5001 a 8759 b 3957 c string_id是表1的主键。 父id对其具有唯一的约束 表2: child_id parent_id string_id 1 5001 a 2 8759 b 3 3957 c child_id是表2的主键。 string_id是表1的外键 当我将新行填充到表2中时,我不想通过加入/合并表1在查询中插
parent_id string_id
5001 a
8759 b
3957 c
string_id是表1的主键。
父id对其具有唯一的约束
表2:
child_id parent_id string_id
1 5001 a
2 8759 b
3 3957 c
child_id是表2的主键。
string_id是表1的外键
当我将新行填充到表2中时,我不想通过加入/合并表1在查询中插入父id
INSERT INTO table_2 (string_id)
VALUES ('a'),
('b'),
('c')
谁能给我一些建议,SQL是否可以通过使用内置关系(例如约束、外键、级联)自动填充父id?如果加入是唯一的办法,你能告诉我这样我就可以停止调查了吗
基本上,我想知道解决这个问题最优雅的方法是什么。我可以使用join和INSERT,但我认为对于这样一个简单的功能来说,这是一个丑陋的查询
谢谢。评论太长了 存储带有外键约束的表的目的是使数据不需要重复。SQL然后提供了用于查找值的
连接
我强烈建议您在需要时使用JOIN
查找parent\u id
。如果愿意,您可以编写一次查询并使用连接
——然后使用该视图的任何人都将拥有父id
谢谢。我将删除不必要的parent_id字段,以遵循SQL Physophy!