Laravel交易冲突

时间:2019-03-07 00:21:23

标签: php mysql database laravel transactions

我已经列出了“组” 列(id,min_num,max_num,..... name等) 与“ users” 表列具有一对多关系(id,num,group_id,...... name等) 和另外4个表格..

我正在进行注册交易,该交易会为用户生成序列唯一编号。 当一个一个地执行请求时,一切都会好起来的... 当同时执行10个线程时..然后出现冲突!

我认为在一秒钟内发生的事情是:

  1. user一个请求寄存器,系统开始事务并添加到另外4个表中,并根据用户组中的min-max生成数字(1),并且users表中存在最大数量,尚未提交。
  2. 用户B请求注册,以便系统启动事务并添加到另外4个表中,并根据用户组中的min-max生成数字(1),并且users表中存在最大数目,尚未提交。
  3. 用户提交(完成,因此数据库中为num 1)。
  4. 用户B提交( ERROR ,编号1不是唯一的。)

如何避免这个问题?

0 个答案:

没有答案