通过事务复现Mysql数据库重复提交的问题

该文描述了一个通过设置不自动提交事务,锁表,然后使用curl执行HTTP请求来模拟并发操作,以检查数据库是否存在重复提交问题的流程。在终端中执行curl命令两次后提交事务,如果两个事务都成功,则表明存在数据重复提交的现象。
摘要由CSDN通过智能技术生成

-- 通过事务复现Mysql数据库重复提交的问题:

-- (1)设置不自动提交事务

SET autocommit = 0

-- (2)锁表

begin;

select * from platf_user_bankcards for update;

-- (3)新开一个sql的tab,验证是否锁表

update platf_user_bankcards set remarks = '2' where _id = 3647;

-- (4)在terminal执行curl语句,且执行两次

curl -H 'authorization: Bearer:eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIwODE4OTEwNDMwMDMxIiwiZXhwIjoxNjc3NzM3ODcxfQ.EbS2IvUlVZVgQnBA9bDfaDaolM_VXi1eyY3a_c2FvGU-N5-v0mPFasJ_rS8ujvbX2gKjxKp9TVWyldfUC-CRNA' -H 'param-userId: 244131ce339b4adebf641fb41b4ff626' -H 'version: 2.4.0' -H 'User-Agent: Mozilla/5.0 (Linux; Android 12; TAS-AN00 Build/HUAWEITAS-AN00; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/92.0.4515.105 Mobile Safari/537.36' -H 'Host: XX.XX.XX.XX:8088' --data "bankCode=BNINIDJA&bankcardNum=199207250931&bankName=BNI" --compressed 'http://XX.XX.XX.XX:8088/v1/app/platfUserBankcards/add'

-- (5)提交事务

COMMIT

-- (6)去数据库中查看两条事务是否提交成功,如都成功的话说明数据可重复提交,问题复现

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值