V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
vueli
V2EX  ›  程序员

小弟刚学后端和 MySql, 请教一下事物的知识点. NodeJs+MySql

  •  
  •   vueli · 2021-05-15 23:49:53 +08:00 · 1707 次点击
    这是一个创建于 1288 天前的主题,其中的信息可能已经有所发展或是发生改变。

    看了很多帖子,开启事务,又是锁的,有点懵逼.

    能不能直观的给我解释一个例子, 比如现在这个商品就一件,怎么防止两个人同时下单. 可以理解为在执行一个方法的时候,让另外一个方法等待. 具体该如何 弄这个事物.

    真的没完明白,求求大佬帮忙解释一下. 或者直接告诉我该怎么写,我一看就明白了. 感谢感谢🙏

    5 条回复    2021-05-16 09:23:00 +08:00
    zwMuZhi
        1
    zwMuZhi  
       2021-05-16 00:30:12 +08:00
    最简单的方式:执行下单的时候,1 锁表,2 查看商品库存,3 判断是否还有库存 ,4 下单逻辑
    raaaaaar
        2
    raaaaaar  
       2021-05-16 00:45:29 +08:00 via Android
    加个锁不就行了
    ch2
        3
    ch2  
       2021-05-16 00:57:07 +08:00 via iPhone   ❤️ 1
    SELECT num FROM goods WHERE id=XX FOR UPDATE;
    ZeawinL
        4
    ZeawinL  
       2021-05-16 03:01:24 +08:00 via Android
    imjamespond2020
        5
    imjamespond2020  
       2021-05-16 09:23:00 +08:00 via Android
    使用事务,序列执行那一挡
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2756 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 07:41 · PVG 15:41 · LAX 23:41 · JFK 02:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.