使用超级/子类型将多行插入MySQL表

时间:2014-09-09 07:19:08

标签: mysql sql inheritance

我在MySQL中有以下子/超类型排列: enter image description here

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

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

我可以同时插入两张桌子吗?如何将多行插入超/子类型关系。

1 个答案:

答案 0 :(得分:0)

如果数据中有一组列唯一标识您插入的行,则可以执行以下操作:

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的{​​{1}}列,more_columns要插入rnaseq_voom的列,key_columns是唯一标识行的列临时表(用于查找该行的rnaseq中的id。