求sql怎么一次用insert 添加多条数据

如题所述

--一条insert只能插入一行数据,除非你有一个相同数据类型的表需要复制表数据批量插入可以使用
Insert into Table2(field1,field2,...) select value1,value2,... from Table1
--要求目标表Table2必须存在,由于目标表Table2已经存在,所以我们除了插入源表Table1的字段外,还可以插入常量。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-01-27

用遍历可以呀  下面的owners就是你传进去的List 遍历每一条就是一个对象的数据

<insert id="insertOrUpdateOwners" parameterType="java.util.List">
       INSERT INTO OWNER (
village_id,
building_id,
house_id,
owner_name,
dwell_time,
owner_phone,
id_number,
sex,
is_owner,
owners_reserve3
)
VALUES

<foreach collection="owners" item="owner" index="index" separator=",">

   (
       #{owner.villageId},
       #{owner.building_id},
       #{owner.house_id},
       #{owner.ownerName},
       #{owner.dwellTime},
       #{owner.ownerPhone},
       #{owner.idNumber},
       #{owner.sex},
       #{owner.isOwner},
       #{owner.ownersReserve3}
       )
   </foreach>

第2个回答  2016-07-18
使用insert into select 格式
前提是 你要添加的数据是可以通过select 查询出来的
第3个回答  2016-07-18
写循环或insert table values(..)select ..from table2本回答被提问者采纳
第4个回答  2017-08-31
例如
insert into table(col1,col2,col3)
select 3,4,5
union all
select 6,7,8