Laravel:创建一个外部行id?

时间:2014-08-21 14:51:48

标签: mysql laravel race-condition

有一个users表和一个galleries表。每个图库都属于一个用户。 galleries表中的所有记录都有一个主ID密钥。我希望将此密钥保留在内部,因此我公开了cid(外部客户端ID),并为每个属于特定用户的新图库增加它。

任何特定用户的第一个图库都有cid = 1,第二个cid = 2,依此类推...... 问题是如何在我们创建新画廊时防止种族歧视?我们假设有多个人使用特定的用户帐户并同时创建新的图库。我如何确保我不会获得两个具有相同cid的画廊?

1 个答案:

答案 0 :(得分:0)

我做的是:

  • 搜索包含cid的最后一条记录并抓住其内部id& cid
  • 创建新记录并抓住其内部id
  • 计算最后一条记录与属于该用户的新记录之间的ID的记录。
  • 将新cid设置为旧cid +计数+ 1