MySQL从另一个查询中使用外键多次插入

时间:2018-08-01 16:39:13

标签: mysql

我有一个简单的数据库结构:

node
    id
    name      

measure       
    id        
    node_id 
    time
    value

从微控制器中,我得到了几个timevalue读数和一个node.name的列表。

当前,我查询数据库以从node.id中获取node.name

SELECT id FROM node WHERE name = ?

然后我进行多次插入

INSERT INTO measure (node_id, time, value) VALUES (?, ?, ?), (?, ?, ?), ...

可以一次完成吗?

1 个答案:

答案 0 :(得分:0)

您可以尝试使用内联表,以便可以加入

INSERT INTO measure (node_id, time, value)
SELECT id, time, value
FROM ( select ? AS time, ? AS value
       union all 
       select ?, ?
       ...
      ) AS inlinedata

CROSS JOIN ( SELECT id FROM node WHERE name = ? )