Stellen Sie die Einzigartigkeit des inkrementellen Werts von Sequelize sicher
P粉616111038
P粉616111038 2023-09-06 12:35:12
0
1
474

Ich verwende derzeit Sequelizeincrement()函数来递增订单号值的列。例如:.increment("order_no", { by: 1 });

Gelegentlich kommt eine Anfrage innerhalb derselben Sekunde gleichzeitig bei meiner API an, was zu doppelten Bestellnummernwerten führt.

Gibt es eine Möglichkeit sicherzustellen, dass der inkrementelle Wert der Bestellnummer eindeutig ist? Muss ich increment in die Transaktion einschließen? Sollte ich nach dem Erstellen einer Bestellnummer stichprobenartig und regelmäßig prüfen, ob es Duplikate gibt? Ich bin mir nicht sicher, wie ich dieses Problem richtig lösen kann.

Laut der Dokumentation von Sequelize (https://sequelize.org/docs/v6/core-concepts/model-instances/#incrementing-and-decrementing-integer-values)

Um Parallelitätsprobleme zu vermeiden, bietet Sequelize Methoden zum Erhöhen und Dekrementieren von Instanzen, um den Wert der Instanz zu erhöhen/dekrementieren.

Obwohl es so aussieht, als ob diese Methode funktioniert, erhalten Sie bei der Verwendung dennoch doppelte Werte.

P粉616111038
P粉616111038

Antworte allen(1)
P粉793532469

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

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage