【问题标题】:Populate table with all foreign keys from other table's primary key使用来自其他表主键的所有外键填充表
【发布时间】:2012-07-09 07:11:42
【问题描述】:

我正在开发一个 Django 应用程序并创建了一个新表 tblA,它的外键链接到 tblB 的主键。

现在tblB 已经有几个条目(因此其中已经有几个主键)。

我想运行一个 SQL 查询,该查询将为 tblB 内的 tblA 中的每个主键创建一个新行,并复制相应的外键并将 tblB 中所有其他列的默认值插入行中。

希望我说的够清楚了!

【问题讨论】:

标签: mysql sql django oracle bulkinsert


【解决方案1】:

你忘了粘贴你的表格结构..我正在考虑如下-

tblA ( aCol1_PK(主键), acol2_desc(描述) )

到目前为止,仅以两列为例。

现在是表 B

tblB ( bCol1, bCol2, bCol3_FK(外键) )

现在假设您的默认值为 -

bCol1 - “B_Col1_default_val” bcol2 - "B_Col2_default_val"

对于这种情况,如果您想从表 A 中插入表 B 中不存在的 p_key 行,您可以尝试以下查询 -

insert into tblB(col1,col2,col3) 
 ( select 'b_col_default_val','b_col_default_val', acol1_pk 
     from tbla a 
    where a.acol1_pk not in ( select b.bcol3_fk from tblb b))

如果您想为表 A 中存在的所有主键值插入一行,那么 -

insert into tblB(col1,col2,col3) 
 ( select 'b_col_default_val','b_col_default_val', acol1_pk 
     from tbla a )

希望对你有帮助.. 如果您需要任何澄清,您可以询问/评论。

【讨论】:

    猜你喜欢
    • 2012-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-21
    相关资源
    最近更新 更多