我在MySQL中有以下子/超类型排列:
我还有一行需要进入rnaseq_voom表的CSV行,因此我想将CSV加载到临时表中,将其加入bmt_gene表,然后批量插入超类型rnaseq
。
但是我需要插入子类型,但我不能使用SET @LAST = LAST_INSERT_ID();
,因为这只会将最后一行插入父表而不是相关行。
我可以同时插入两张桌子吗?如何将多行插入超/子类型关系。
答案 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。