MYSQL实现添加购物车时防止重复添加示例代码

 更新时间:2017年09月21日 09:29:38   作者:Honway  
在向mysql中插入数据的时候最需要注意的就是防止重复发添加数据,下面这篇文章主要给大家介绍了关于MYSQL如何实现添加购物车的时候防止重复添加的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。

前言

最近因为工作的原因,在做APP购物车下单支付这一块儿.被测试提了一个bug,当点加入购物车点的比较快的时候,同一个商品在购物车中出现了两个.

因为加入购物车的时候,分2步, 第1步是先判断要加入购物车的商品是不是已经在购物车当中了,如果在的话就在原来的数量基础上做加一操作.如果不在再插件.

因为两步不是原子的操作,所以就出现了多线程的安全问题,下面话不多说了,来跟随小编一起来看看详细的解决过程吧,会对你有一定的帮助的。

MySQL insert有一个比较高级的操作

示例代码:

INSERT INTO t_xs_shopping_cart (
 user_id,
 shop_id,
 commodity_id,
 quantity
)
VALUES 
 (71, 67, 140201057403511024, 1) ON DUPLICATE KEY UPDATE quantity = quantity + 1

当唯一键约束起作用的时候,会走update语句,把数量加1

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

相关文章

  • MySQL gh-ost DDL 变更工具的实现

    MySQL gh-ost DDL 变更工具的实现

    本文主要介绍了MySQL gh-ost DDL变更工具的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-02-02
  • MySQL笔记之子查询使用介绍

    MySQL笔记之子查询使用介绍

    子查询是将一个查询语句嵌套在另一个查询语句中,内层查询语句的查询结果,可以为外层查询语句提供查询条件
    2013-05-05
  • mysql5.7以上版本配置my.ini的详细步骤

    mysql5.7以上版本配置my.ini的详细步骤

    这篇文章主要为大家详细介绍了mysql5.7以上版本配置my.ini的详细步骤,文中每一步介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • mysql 5.7.21 解压版通过历史data目录恢复数据的教程图解

    mysql 5.7.21 解压版通过历史data目录恢复数据的教程图解

    本文通过图文并茂的形式给大家介绍了mysql 5.7.21 解压版,通过历史data目录恢复数据的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-09-09
  • 深入分析Mysql中limit的用法

    深入分析Mysql中limit的用法

    很久没用mysql的limit,一时大意竟然用错了,自认为(limit 开始,结束),其实错了,正确的应该是(limit 偏移量,条数),为了记住这次错误,转载一篇limit用法详解。推荐给大家,希望对大家能够有所帮助。
    2015-03-03
  • mysql技巧:提高插入数据(添加记录)的速度

    mysql技巧:提高插入数据(添加记录)的速度

    这篇文章主要介绍了mysql技巧:提高插入数据(添加记录)的速度,需要的朋友可以参考下
    2014-12-12
  • Mysql优化神器(推荐)

    Mysql优化神器(推荐)

    这篇文章主要介绍了Mysql优化神器(推荐),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • linux下安装mysql简单的方法

    linux下安装mysql简单的方法

    这篇文章主要介绍了 linux下安装mysql简单的方法,需要的朋友可以参考下
    2017-08-08
  • navicat无法远程连接mysql的解决方法

    navicat无法远程连接mysql的解决方法

    这篇文章主要介绍了navicat无法远程连接mysql的解决方法,需要的朋友可以参考下
    2014-04-04
  • 教你如何通过日志文件恢复MySQL数据

    教你如何通过日志文件恢复MySQL数据

    Binlog日志是二进制日志文件,有两个作用,一个是增量备份,另一个是主从复制,即主节点维护一个binlog日志文件,从节点从binlog中同步数据,也可以通过binlog日志来恢复数据,这篇文章主要给大家介绍了关于如何通过日志文件恢复MySQL数据的相关资料,需要的朋友可以参考下
    2022-02-02

最新评论