我有一个简单的数据库结构:
node
id
name
measure
id
node_id
time
value
从微控制器中,我得到了几个time
、value
读数和单个node.name
的列表。
目前我查询数据库以从node.name
中获取node.id
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 = ? )