批量新增或更新省市区

sql

<insert id="batchSaveOrUpdateSysArea" parameterType="java.util.List">
    insert into sys_area (
        id,
        pid,
        name,
        area_code,
        level,
        longitude,
        latitude,
        sort,
        status
    )
    values
    <foreach collection="sysAreas" item="item" separator=",">
        (
        #{item.id},
        #{item.pid},
        #{item.name},
        #{item.areaCode},
        #{item.level},
        #{item.longitude},
        #{item.latitude},
        #{item.sort},
        #{item.status}
        )
    </foreach>
    <!-- 核心:当id冲突时,更新其他字段 -->
    ON DUPLICATE KEY UPDATE
        pid = VALUES(pid),  -- 用当前插入的pid更新
        name = VALUES(name),  -- 用当前插入的name更新
        area_code = VALUES(area_code),
        level = VALUES(level),
        longitude = VALUES(longitude),
        latitude = VALUES(latitude),
        sort = VALUES(sort),
        status = VALUES(status)
</insert>

 

posted @ 2025-09-16 22:52  白玉神驹  阅读(7)  评论(0)    收藏  举报