【问题标题】:INSERT multiple rows into a MySQL table with Super/Subtypes将多行插入到具有超级/子类型的 MySQL 表中
【发布时间】:2014-09-09 16:17:44
【问题描述】:

我在 MySQL 中有以下子/超类型排列:

我还有一个 CSV 的行需要进入 rnaseq_voom 表,所以我想将 CSV 加载到一个临时表中,将其加入 bmt_gene 表,然后批量插入超类型rnaseq

然后我需要插入子类型,但我不能使用SET @LAST = LAST_INSERT_ID();,因为这只会将最后一行插入父表,而不是相关行。

我可以同时插入两个表吗?否则如何将多行插入到超级/子类型关系中。

【问题讨论】:

    标签: mysql sql inheritance


    【解决方案1】:

    如果您的数据中有一组列可以唯一标识您插入的行,您可以这样做:

    INSERT INTO rnaseq (columns) SELECT columns FROM temp_table;
    INSERT INTO rnaseq_voom (id,more_columns)
        SELECT r.id,more_columns FROM rnaseq r JOIN temp_table t USING (key_columns)
    

    其中columns 是要插入到rnaseq 中的列集,more_columns 是要插入到rnaseq_voom 中的列,key_columns 是唯一标识临时表行的列(以查找 id在该行的rnaseq 中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-26
      相关资源
      最近更新 更多