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(字段名)

转载于:https://www.cnblogs.com/wangzun/p/8447136.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值