mysql "ON DUPLICATE KEY UPDATE" 的使用
ON DUPLICATE KEY UPDATE 语法并不是SQL的标准语法,如果在句尾指定该语法,它会根据指定的主键或者唯一标示索引来更新数据库的内容
具体的操作是想根据唯一标示查看数据库是否存在该记录,如果存在该记录就更新,如果不存在就会插入一条新的记录,
例子:
<insert id="batchCreatTickets" parameterType="java.util.List">
insert into ticket
(id,ticket_id,price,stock,ticket_status,
show_id)
values
<foreach collection="tickets" item="item" index="index"
separator=",">
(#{item.id},#{item.ticketId},#{item.price},#{item.stock},#{item.ticketStatus},
#{item.showId})
</foreach>
ON DUPLICATE key update ticket_status=values(ticket_status),stock=values(stock),price=values(price)
</insert>
使用ON DUPLICATE KEY UPDATE 时 如果想要更新数据,需要使用values(字段名)
mysql "ON DUPLICATE KEY UPDATE" 的使用的更多相关文章
- mysql ON DUPLICATE KEY UPDATE 与 REPLACE INTO 的区别
#mysql ON DUPLICATE KEY UPDATE 如果在INSERT语句末尾指定了ON DUPLICATE KEY UPDATE,并且插入行后会导致在一个UNIQUE索引或PRIMARY ...
- mysql ON DUPLICATE KEY UPDATE ; 以及 同replace to 的区别.
需求: 1)如果admin表中没有数据, 插入一条 2)如果admin表中有数据, 不插入. 一般做法: if($result = mysql_query("select * from ad ...
- 深入mysql “ON DUPLICATE KEY UPDATE” 语法的分析
本篇文章是对mysql “ON DUPLICATE KEY UPDATE”语法进行了详细的分析介绍,需要的朋友参考下. mysql “ON DUPLICATE KEY UPDATE” 语法 如果在IN ...
- 深入mysql "on duplicate key update" 语法的分析
如果在INSERT语句末尾指定了on duplicate key update,并且插入行后会导致在一个UNIQUE索引或PRIMARY KEY中出现重复值,则在出现重复值的行执行UPDATE:如果不 ...
- mysql ON DUPLICATE KEY UPDATE重复插入时更新
mysql当插入重复时更新的方法: 第一种方法: 示例一:插入多条记录 假设有一个主键为 client_id 的 clients 表,可以使用下面的语句: INSERT INTO clients (c ...
- mysql ON DUPLICATE KEY UPDATE、REPLACE INTO
INSERT INTO ON DUPLICATE KEY UPDATE 与 REPLACE INTO,两个命令可以处理重复键值问题,在实际上它之间有什么区别呢?前提条件是这个表必须有一个唯一索引或主键 ...
- mysql "ON DUPLICATE KEY UPDATE" 语法
如果在INSERT语句末尾指定了ON DUPLICATE KEY UPDATE,并且插入行后会导致在一个UNIQUE索引或PRIMARY KEY中出现重复值,则在出现重复值的行执行UPDATE:如果不 ...
- MySQL on duplicate key update 批量插入并更新已存在数据
业务上经常存在一种现象,需要批量往表中插入多条数据,但在执行过程中,很可能因为唯一键冲突,而导致批量插入失败.因此需要事先判断哪些数据是重复的,哪些是新增的.比较常用的处理方法就是找出已存在的数据,并 ...
- MySQL: ON DUPLICATE KEY UPDATE 用法 避免重复插入数据
INSERT INTO osc_visit_stats(stat_date,type,id,view_count) VALUES (?,?,?,?) ON DUPLICATEKEY UPDATE vi ...
- MySQL: ON DUPLICATE KEY UPDATE 用法
使用该语法可在插入记录的时候先判断记录是否存在,如果不存在则插入,否则更新,很方便,无需执行两条SQL INSERT INTO osc_visit_stats(stat_date,type,id,vi ...
随机推荐
- 03-hibernate注解-关系映射级别注解-一对一
实体之间的映射关系 一对一:一个公民对应一个身份证号码 一对多(多对一):一个人可以有多个银行账号 多对多:一个学生有多个老师,一个老师有多个学生. 一对一单向外键关联 @OneToOne(casca ...
- Drupal如何集中控制静态变量?
Drupal许多的函数中都使用了静态变量.按照通常的用法,静态变量的使用应该是这样的: function drupal_set_title($title = NULL) { static $store ...
- 网站缓存技术(Redis、Memcached、Ehcache)
Redis 是什么? 通常而言目前的数据库分类有几种,包括 SQL/NSQL,,关系数据库,键值数据库等等等. 分类的标准也不一,Redis本质上也是一种键值数据库的,但它在保持键值数据库简单快捷特点 ...
- java基础讲解11-----java中的异常
1.java利用 try catch语句块捕获异常 2.finally语句 表示总是执行,不管程序是否异常 注意:1.在finally语句块异常 2.在前面的代码中使用Sysrtem.exit ...
- ftp客户端的创建
1.本段代码采用了 select I/O端口复用 2.含有三种功能:ls, 上传文件, 下载文件.这是拷贝别人的代码,自己添加了注释,随后会进行修改, 自己需要的功能:上传文件, 下载文件, (并 ...
- TI博客文章-4-20mA电流环路发送器入门
TI博客文章-4-20mA电流环路发送器入门http://bbs.21ic.com/forum.php?mod=viewthread&tid=1610834&fromuid=10995 ...
- 重写spring cloud config 本地bootstrap
在spring-cloud中使用了config-server之后,需要在client端加入bootstrap作为配置文件,其中通常包含如下: spring.application.name=ms-as ...
- html5-表单常见操作
<form autocompelate="on" id="from1"><!--常用属性-->邮件:<input type=&q ...
- Android错误之--activity_main cannot be resolved or is not a field
一般在copy别人的项目中会easy出现本错误,截图例如以下:
- JDK的动态代理机制
JDK Proxy OverView jdk的动态代理是基于接口的,必须实现了某一个或多个随意接口才干够被代理,并且仅仅有这些接口中的方法会被代理.看了一下jdk带的动态代理api.发现没有样例实在是 ...