【发布时间】:2020-07-03 19:19:07
【问题描述】:
表 1:
parent_id string_id
5001 a
8759 b
3957 c
string_id 是表 1 的主键。 parent_id 有一个 UNIQUE 约束。
表 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。
INSERT INTO table_2 (string_id)
VALUES ('a'),
('b'),
('c')
谁能给我建议 SQL 是否可以通过使用内置关系(例如约束、外键、级联)自动填充 parent_id?如果加入是唯一的方法,您能否也让我知道,以便我停止调查?
基本上,我想知道解决这个问题的最优雅的方法是什么。我可以将 join 与 INSERT 一起使用,但我认为对于如此简单的功能来说这是一个丑陋的查询。
谢谢。
【问题讨论】:
标签: sql postgresql psycopg2