sql - 防止 SQL 应用程序中的重复条目
问题描述
我有一个在两台不同机器上运行的应用程序。该应用程序的使用非常简单,我们扫描一个产品,它关联product_id并创建一个自动递增的Unique_ID。
例如:U00001然后下一个是U00002
我的问题是两台机器都在运行时,有时两个不同产品的Unique_ID是相同的。这就像Unique_ID的创建同时发生,所以它复制了条目。
最好的方法是什么?是连接问题吗?
解决方案
您需要一个SEQUENCE
orIDENTITY
列,然后将计算列连接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)
)
推荐阅读
- docker - 如何在同一主机上的 Docker 中的 Docker 之间共享卷
- r - `dplyr::_join` 函数的命名向量“by”参数
- c# - c# - 如何使用描述性成员创建列表/字典
- json - 使用Powershell将json文件中的列值替换为null
- amazon-web-services - AWS Aurora 只读副本
- flutter - Flutter:如何将 PageRoute Animation 与 Navigator.of(context).pushNamed 结合起来
- windows-ce - 插入后重新启动后无法识别 USB 加密狗(非存储设备)
- php - Wordpress 进入编辑页面时出现错误
- php - 从前端提交表单中删除多个字段
- django - Django 问题:RuntimeError: __class__ not set defined 'AbstractBaseUser' as