MySQL中用replace批量替换数据

REPLACE的运行与INSERT很相似。只有一点例外,假如表中的一个旧记录与一个用于PRIMARY KEY或一个UNIQUE索引的新记录具有相同的值,则在新记录被插入之前,旧记录被删除。
举例如下(.xml中的sql语句)

<insert id="..." parameterType="..." >
    REPLACE INTO evaluate_tag_map
    (tag_id, evaluate_id, state) VALUES
    <foreach collection="list" index="index" item="item" separator=",">
        (
          #{item.tagId, jdbcType=BIGINT},
          #{item.evaluateId, jdbcType=BIGINT},
          #{item.state, jdbcType=INTEGER}
        )
    </foreach>
</insert>

你可能感兴趣的:(数据库种种必知必会)