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

MySQL使用另一个查询的外键多次插入,mysql,Mysql,我有一个简单的数据库结构: node id name measure id node_id time value 从一个微控制器中,我得到了几个时间,值读数和一个节点的列表。名称 目前我查询数据库以从node.name SELECT id FROM node WHERE name = ? 然后我做多次插入 INSERT INTO measure (node_id, time, value) VALU

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

node
    id
    name      

measure       
    id        
    node_id 
    time
    value
从一个微控制器中,我得到了几个
时间
读数和一个
节点的列表。名称

目前我查询数据库以从
node.name

SELECT id FROM node WHERE name = ?
然后我做多次插入

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

可以一次完成吗?

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

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 = ? )

我想我们需要更多的信息。从哪里获得插入数据?您可以执行联接,以便数据包含node.id。否则就没有其他方法了。可以将第一个查询用作子查询。但我会保持原样。@Juan:数据来自RESTAPI POST请求,从那里我必须将数据存储在db中。正如@PaulSpiegel所说,您可以使用子查询。但是获取节点id的成本可能太低了,我不会更改它。好的,我得到了--第二次阅读时:)--我明天会试试,谢谢