gpt4 book ai didi

mysql - Mysql(innodb)行级锁定是解决方案吗?

转载 作者:行者123 更新时间:2023-11-29 09:16:24 27 4
gpt4 key购买 nike

最近将我的 codeiginter 应用程序放入集群环境后遇到了问题。用户能够获得积分级别的网站奖励,在他们单击“提交”以检索奖励后,我有代码可以获取奖励的当前积分级别,并将其保存在包含 user_id 和他们获得奖励的积分级别的表中在。假设在用户获得奖励后将该奖励增加 1 点。我遇到了一个问题,2 个用户可能同时单击“提交”,并且在记录表中,两个用户都获得了相同积分级别的奖励,这是不应该发生的,因为它应该在每次之后增加 1 个积分提交。对正在递增的奖励行进行行级锁定会阻止此问题吗?我该如何实现它?

如果您需要更多信息或说明,请告诉我。

  • 用户表
    id
    用户名
    [...]

  • 奖励表
    id
    姓名

  • 记录表
    id
    users_id
    奖励_id

记录表中的积分应该是用户提交领取奖励时获得的奖励积分。

最佳答案

没有。行级锁定与表级锁定主要是一个性能问题。

您正在寻找的是交易。开始交易,增加积分等级,添加奖励,提交。要么整个​​交易完成,奖励和积分同时完成,要么失败,两者都不会发生。

关于mysql - Mysql(innodb)行级锁定是解决方案吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4016663/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com