Mysql多个同时插入查询

时间:2016-04-21 14:02:10

标签: mysql mysql-workbench sql-insert

我需要将数据插入data_table(表1)中alarm_status_log_table(表2,整个事物)的一组列中,并将另一组数据插入data_table(表1)来自channel表(表3,只是名称和描述),从而完成data_table(表1)。

但问题是,名称&我需要传递到data_table的描述列必须与它们对应的alarm_id位于同一行。 alarm_idchannel_id表中的channel相同,而Insert (name, description) from channel(table 3) into data_table(name, description) where channel_id = alarm_id 表恰好已经有我要发送给data_table的名称和说明。

基本上我想说:

A,B,3
C,D,5
A,D,57

我该怎么办?

enter image description here enter image description here

2 个答案:

答案 0 :(得分:1)

可以像这样进行更新JOIN:

UPDATE data_table a 
INNER JOIN table3 b ON a.alarm_id = b.channel_id
SET a.name=b.name, a.description=b.description

如果您不想更新,是否可以加入表格?也许创建一个联合视图会更好;这样可以避免冗余的不一致数据。

答案 1 :(得分:0)

所有我需要做的就是使用VIEW,因为将来自两个表的数据重新排序到第三个表是非常棘手的,这是我用来获取我想要的视图的脚本:

SELECT channel.name, channel.description, alarm_status_log.* FROM data2desk.alarm_status_log LEFT JOIN data2desk.channel ON channel.channel_id=alarm_status_log.alarm_id

它就是诀窍:))

final view