批量插入记录,遇到重复记录则为自动更新
2016-01-22 10:50
281 查看
<span style="font-family: 'Microsoft YaHei', Verdana, sans-serif, 宋体;"><strong>在插入大量数据时可能同时遇到两个问题:</strong></span>
如果每条更新执行一次sql性能很低,也容易造成阻塞;
批量插入时又有可能遇到主键 或者 唯一索引重复的问题,导致整个批量插入失败
使用 ON DUPLICATE KEY UPDATE 一条sql解决批量插入和主键或者唯一索引重复问题
举例如下:
表结构如下:
create table mytable( id int not null, code char(6) not null, description char(50) null, number int not null, name char(50) not null, primary key id, unique key uk_mytable_code (code));
批量插入如下:
INSERT INTO mytable(id, code, description, number, name) VALUES (?,?,?,?,?),(?,?,?,?,?),(?,?,?,?,?) ON DUPLICATE KEY UPDATE description = VALUES(description), number = VALUES(number)
相关文章推荐
- IBOutletCollection
- Android动画系列一、补间,帧,Activity跳转,ListView条目动画
- Html.ActionLink
- 设计模式读书笔记-----访问者模式
- android统计图—achartengine
- maven学习与使用详解
- Android 自定义RecyclerView 实现真正的Gallery效果
- 竖屏Activity跳到横屏Activity引发的混乱,Activity横竖屏切换
- android 关于listview bitmap导致的oom解决方案
- c语言之c预处理程序
- Android实际开发问题07------模仿京东列表页控件
- [数据结构] 数据结构(C语言) 严蔚敏、吴伟民编著 - 总
- SSL双向认证和单向认证原理
- Linux 下的 fork()
- js的history.pushstate()作用
- 孑然一身,离人何曾是归人
- Android关于ProgressDialog按返回键关闭
- Ubuntu中Nginx的安装与配置
- c语言学习之函数篇
- 转换字符串到数字类型