我在 MySQL 中有以下子/父类(super class)型排列:
我还有一个 CSV 行需要进入 rnaseq_voom 表,所以我想将 CSV 加载到临时表中,将其加入 bmt_gene 表,然后批量插入到父类(super class)型 rnaseq
中。 .
但是我需要插入子类型,但我不能使用 SET @LAST = LAST_INSERT_ID();
因为这只会将最后一行插入到父表中,而不是相关行。
可以同时插入两个表吗?还有什么方法可以将多行插入到父/子类型关系中。
最佳答案
如果数据中有一组列唯一标识您插入的行,您可以执行以下操作:
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
那些唯一标识临时表的一行(以在该行的 rnaseq
中查找 id。
关于mysql - 将多行插入具有 super /子类型的 MySQL 表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25738766/