插入一张表的数据来自另一张表:
INSERT INTO 表A(
字段a,
字段b,
字段c
)
SELECT
字段a
字段b
字段c
FROM
表B
WHERE
条件
当只是某些字段需要另一张表的数据时:
INSERT INTO 表A(
字段a,
字段b,
字段c,
字段d
)
SELECT
字段a
字段c
字段d
FROM
表B
WHERE
条件
在myBatis中,自己要插入的数据可直接用#{valueName}写
INSERT INTO iot_data (
id,
device_id,
data,
report_date,
create_by,
create_date,
update_by,
update_date,
remarks,
del_flag
) SELECT
#{id},
id, //此id为要在其他表查询的数据
#{data},
#{reportDate},
#{createBy.id},
#{createDate},
#{updateBy.id},
#{updateDate},
#{remarks},
#{delFlag}
FROM iot_device
WHERE out_device_sn = #{device.outDeviceSn}