MySQL+Mybatis批量插入時對已存在的記錄進行更新
阿新 • • 發佈:2019-02-10
<insert id="addActiveTerminalStatics" parameterType="List"> insert into tms_report_active_terminal_statistics ( active_terminal_count, statistics_time_of_hour, manufacturer, model_name ) values <foreach collection="list" item="item" separator=","> ( #{item.active_terminal_count}, #{item.time_of_hour}, #{item.manufacturer}, #{item.model_name} ) </foreach> ON DUPLICATE KEY UPDATE active_terminal_count = VALUES(active_terminal_count) </insert>
1)以上xml寫的sql語句實現了批量插入功能,如果資料庫中已經存在要插入記錄,則進行更新操作,其表中定義的自增主鍵id並不會變化。
2)批量插入對已存在的記錄更新的另一種方法:
replace into 雖然可以更新已存在的記錄,但是表中定義的自增主鍵id會變化。