首页 > 解决方案 > 防止 SQL 应用程序中的重复条目

问题描述

我有一个在两台不同机器上运行的应用程序。该应用程序的使用非常简单,我们扫描一个产品,它关联product_id并创建一个自动递增的Unique_ID

例如U00001然后下一个是U00002

我的问题是两台机器都在运行时,有时两个不同产品的Unique_ID是相同的。这就像Unique_ID的创建同时发生,所以它复制了条目。

最好的方法是什么?是连接问题吗?

标签: sqlsql-server

解决方案


您需要一个SEQUENCEorIDENTITY列,然后将计算列连接U到它上面

CREATE TABLE YourTable (
  ID int IDENTITY PRIMARY KEY,
  product_id varchar(30),
  Unique_ID AS FORMAT(ID, '"U"0000)
)

或者

CREATE SEQUENCE YourTable_IDs AS int START WITH 1 INCREMENT BY 1 MAXVALUE 9999;

CREATE TABLE YourTable (
  ID int PRIMARY KEY DEFAULT (NEXT VALUE FOR YourTable_IDs),
  product_id varchar(30),
  Unique_ID AS FORMAT(ID, '"U"0000)
)

推荐阅读