mysql插入不成功则执行更新
来源:互联网 发布:大和抚子 知乎 编辑:程序博客网 时间:2024/05/16 05:14
1.先删除再插入
代码如下:
<!--插入不成功,则删除冲突的在插入--> <insert id="batchAdd" parameterType="Object"> REPLACE into t_store_task(task_id,store_no,store_name,store_sale_task) values <foreach collection="storeTaskList" item="item" index="index" separator=","> (#{taskId},#{item.storeNo},#{item.storeName},#{item.storeSaleTask}) </foreach> </insert>
REPLACE的使用:
使用REPLACE的最大好处就是可以将DELETE和INSERT合二为一,形成一个原子操作。这样就可以不必考虑在同时使用DELETE和INSERT时添加事务等复杂操作了。在使用REPLACE时,表中必须有唯一索引,而且这个索引所在的字段不能允许空值,否则REPLACE就和INSERT完全一样的。在执行REPLACE后,系统返回了所影响的行数,如果返回1,说明在表中并没有重复的记录,如果返回2,说明有一条重复记录,系统自动先调用了DELETE删除这条记录,然后再记录用INSERT来插入这条记录。
语法和INSERT非常的相似,如下面的REPLACE语句是插入或更新一条记录。
REPLACE INTO users (id,name,age) VALUES(123, ‘贾斯丁比伯’, 22);
2.插入不成功则执行更新
INSERT into t_coupon_user(name,phone,user_group,create_time,modify_time,status,first_sign) values('user','18428385857','5',now(),now(), 0, 1) ON DUPLICATE KEY UPDATE name='user3'
INSERT 中ON DUPLICATE KEY UPDATE的使用 :
如果指定了ON DUPLICATE KEY UPDATE,并且插入行后会导致在一个UNIQUE索引或PRIMARY KEY中出现重复值,则执行UPDATE。
参考的资料有
1.http://blog.csdn.net/buptzhengchaojie/article/details/50992923
阅读全文
0 0
- mysql插入不成功则执行更新
- mysql插入数据不成功
- MySQL插入中文字符不成功问题解决
- mysql 有则更新无则插入
- Mysql更新插入
- MySQL 插入或更新
- MySQL 插入更新删除
- MySQL插入更新删除
- MYSQL 插入/更新
- sql插入数据已经存在,则执行update更新
- MySQL BIT类型字段插入不成功的问题
- MySql数据库新建表后,插入数据不成功的解决办法
- 当数据库字段涉及到mysql保留字,插入数据不成功
- 提升mysql大数据插入或者更新数据条目的执行效率
- mysql 插入更新,存在不插入
- 提高MySql插入执行效率
- MySQL 执行插入报错
- mysql批量插入,更新优化
- mt2503 [Input Method]孟加拉vkv3虚拟矩阵键盘无法输入组字字符(0x09CD)
- 批量创建用户并使用sudo和ACL来控制用户权限
- 二分图杂谈
- protobuf序列化原理
- mongodb 导出表
- mysql插入不成功则执行更新
- 第14周项目1-验证算法
- Mac版Android Studio Git 的配置以及提交到仓库
- JS 简单的解释操作
- tensorflow教程:tf.dynamic_rnn
- 关于微信新出的企业付款到银行卡API的问题(二)
- 对表或索引启用压缩功能(2008及以上版本企业版
- 小程序与java的session问题
- [angular]常见错误