mysql - 将多行插入具有 super /子类型的 MySQL 表中

标签 mysql sql inheritance

我在 MySQL 中有以下子/父类(super class)型排列: enter image description here

我还有一个 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/

相关文章:

php - 连接到mysql数据库

php - 检查时间是否等于带有持续时间的时间

sql - 将两个连接替换为一个

mysql - 分组、计数和连续圈数

sql - 如何在存储过程中执行 SELECT TOP @Param?

c++ - 从我正在扩展的嵌套类中覆盖方法

c# - DataContract 序列化 - 基类、继承和覆盖

php - 普通图像存储还是 mySQL blob?

c# - EF 代码优先 : separate creation of objects in db with TFT inheritance

mysql - 如何在jsp中显示来自mysql的多个图像和数据