mysql妙用:批量插入记录,遇到重复记录则为自动更新
来源:互联网 发布:js换行符分隔字符串 编辑:程序博客网 时间:2024/06/03 12:57
摘要
在更新大量数据时如果每条更新执行一次sql性能很低,也容易造成阻塞;批量更新时又有可能遇到主键重复的问题
在更新大量数据时可能同时遇到两个问题:
1、如果每条更新执行一次sql性能很低,也容易造成阻塞;
2、批量更新时又有可能遇到主键重复的问题
3、jdbc.url=jdbc:mysql://ip/库名?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&allowMultiQueries=true
使用 ON DUPLICATE KEY UPDATE 一条sql解决批量更新和主键重复问题(id为主键)
<insert id="batchInsert" parameterType="java.util.List" useGeneratedKeys="true">
INSERT INTO t_cloud_vcard(account_id,BEGIN,END,NAME,PROFILE,SOURCE,FN,N,NICKNAME,PHOTO,BDAY,ADR,LABEL,TEL,EMAIL,MAILER,TZ,GEO,TITLE,ROLE,LOGO,AGENT,ORG,CATEGORIES,NOTE,PRODID,REV,SORT_STRING,SOUND,UID,URL,VERSION,CLASS,XTENDED,IMPP,create_time)VALUES<foreach collection="list" item="item" index="index" separator=",">(#{item.accountId},#{item.BEGIN},#{item.END},#{item.NAME},#{item.PROFILE},#{item.SOURCE},#{item.FN},#{item.N},#{item.NICKNAME},#{item.PHOTO},#{item.BDAY},#{item.ADR},#{item.LABEL},#{item.TEL},#{item.EMAIL},#{item.MAILER},#{item.TZ},#{item.GEO},#{item.TITLE},#{item.ROLE},#{item.LOGO},#{item.AGENT},#{item.ORG},#{item.CATEGORIES},#{item.NOTE},#{item.PRODID},#{item.REV},#{item.SORT_STRING},#{item.SOUND},#{item.UID},#{item.URL},#{item.VERSION},#{item.CLASS},#{item.XTENDED},#{item.IMPP},now())</foreach>ON DUPLICATE KEY UPDATE TEL=VALUES(TEL),EMAIL=VALUES(EMAIL),XTENDED=VALUES(XTENDED),PHOTO=VALUES(PHOTO)
</insert>
0 0
- mysql妙用:批量插入记录,遇到重复记录则为自动更新
- 批量插入记录,遇到重复记录则为自动更新
- ON DUPLICATE KEY UPDATE批量插入记录,遇到重复记录则为自动更新
- MySql避免重复插入记录
- mysql插入不重复记录
- MySql避免重复插入记录
- MySQL不插入重复记录
- MySql避免重复插入记录
- MySql避免重复插入记录
- MySql避免重复插入记录
- mysql避免插入重复记录
- MySql避免重复插入记录
- MySql避免重复插入记录
- Mysql避免重复插入记录
- mysql避免重复插入记录
- MySql避免重复插入记录方法
- MySQL避免插入重复记录的方法
- MySQL避免重复插入记录方法总结
- 【数据结构】链表相关内容
- Capturing Photos之Taking Photos Simply
- 微信公众平台java开发详解(工程代码+解析)
- I2S的函数分析
- mysql 分表策略
- mysql妙用:批量插入记录,遇到重复记录则为自动更新
- 测试文章
- 取得指定日期是星期几
- 第七章:Nodejs + 模块mssql 链接sqlserver数据库方法实测记录
- 8.2 喀迈拉(no.11~no.20)
- JavaScript练习 - 数字转换成罗马数字
- 在win32程序中,将浮点数转换为字符串
- 338. Counting Bits
- 设计模式 行为模式之迭代子模式