【发布时间】:2018-01-01 12:51:35
【问题描述】:
我有一个实时 Web 应用程序 (.NET),其中我有一个进行交易的工具。当更多没有。的用户同时进行任何交易,为所有进行交易的用户生成重复/相同的交易 ID。有什么方法可以避免创建相同的 ID 吗?我尝试了以下解决方案,但没有任何帮助。
1.Mutex
2.Table lock(SQL)
3.Generating Transaction ID at the time of inserting into the table.
【问题讨论】:
-
我们如何在没有看到您正在做什么来生成事务 ID 的情况下回答?现在,您的问题的答案是:是的,有一种方法可以避免创建相同的 ID。
-
您使用的是什么数据库?您需要使用为 SQL Server 等多用户设计的数据库。为防止 SQL Server 中出现重复 ID,您需要一个分配唯一 ID 的存储过程。如果您有一组服务器,则每个服务器都必须分配 ID,以免重复。
-
是的,我只使用 SQL。但我想手动生成 ID(MAX + 1)而不是自动生成,因为我正在向它附加一些字符。
-
这是你能做到的最糟糕的方式。 “SQL”并不意味着 Microsoft SQL Server,但我假设这就是您的意思。您可能想要创建和使用序列。 docs.microsoft.com/en-us/sql/t-sql/statements/…