确保Sequelize的增量值唯一性
P粉616111038
P粉616111038 2023-09-06 12:35:12
0
1
468

我目前使用Sequelize的increment()函数来递增订单号值的列。例如:.increment("order_no", { by: 1 });

偶尔会有一个请求在同一秒钟内同时到达我的API,导致出现重复的订单号值。

有没有办法可以确保订单号的递增值是唯一的?我需要在事务中包装increment吗?在创建订单号后,是否应该随机定时检查是否有重复?不确定解决这个问题的正确方法。

根据Sequelize的文档(https://sequelize.org/docs/v6/core-concepts/model-instances/#incrementing-and-decrementing-integer-values)

为了避免并发问题,Sequelize提供了递增和递减实例方法来递增/递减实例的值。

然而,尽管看起来这个方法有效,但在使用时仍然会得到重复的值。

P粉616111038
P粉616111038

全部回复(1)
P粉793532469

我认为如果出现重复的订单ID,你可以尝试捕获错误并重试操作,生成一个新的订单ID。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板