我成功插入了其他表中的数据,但数据已插入到其他行中。如何指定将数据插入特定行的条件,大多数查询都具有来自其他(旧)表的条件。
INSERT INTO machine_types( machine_id)
SELECT DISTINCT machine_id
FROM machine_events
WHERE platform_id = '70ZOvy' AND cpu = 0.25 AND memory = 0.2498
machine_types
表格有machine_type
列,我希望在machine_type = 1
上插入数据。
machine_types 表:
machine_id // has null value now
cpu
memory
platform
machine_type
machine_events :
machine_id
cpu
memory
platform
问题是我将如何编写SQL查询以将数据插入到具有machine_type = 1
的记录中?
请注意。 machine_types
表只有10条记录,而要插入的新记录是126条记录。所有这些记录都将转到machine_type = 1
。
Machine_types 表:
machine_type platform cpu memory machine_id
1 HofLG 0.25 0.2498 NULL
2 HofLG 0.5 0.03085 NULL
3 HofLG 0.5 0.06158 NULL
4 HofLG 0.5 0.1241 NULL
Machine_events 表:
time machine_id platform_id cpu memory machine_type
0 5 HofLG 0.25 0.2493 1
0 6 HofLG 0.5 0.03085 1
0 7 HofLG 0.5 0.2493 2
0 10 HofLG 0.5 0.2493 2
第一个表上的空值应该更改为基于machine_type从第二个表获取machine_id。
machine_id
刚刚更新后machine_types :
machine_type platform cpu memory machine_id
1 HofLG 0.25 0.2498 5
1 HofLG 0.5 0.03085 6
2 HofLG 0.5 0.03085 NULL
3 HofLG 0.5 0.06158 NULL
4 HofLG 0.5 0.1241 NULL