我在sql数据库服务器中有一个表,其中包含一个varchar列,并使用linq to entity以programattically方式将其维护为自定义唯一键。我从数据库中分离并进行分割,增量和保存,但我想知道当多个请求同时出现时会发生什么,这可能是我的逻辑失败或将由sql server处理。
-----------------
Id | Code
-----------------
1 | BA0001
2 | BA0002
3 | BA0003
当多个请求同时出现时会发生什么
您将获得PK违规。
在SQL Server中,您可以使用Sequence对象生成如下所示的键:
create sequence seq_t
start with 1
increment by 1
create table t
(
id varchar(20) default concat('BA',format((next value for seq_t),'0000')) primary key,
a int
)