我在sql数据库服务器中有一个下表,其中包含一个varchar列,并使用linq to实体以编程方式将其维护为自定义唯一键。我正在从数据库中提取数据并进行拆分,增加和保存,但是我想知道当多个请求同时出现时会发生什么情况,这可能会使我的逻辑失败或由sql server处理。
-----------------
Id | Code
-----------------
1 | BA0001
2 | BA0002
3 | BA0003
答案 0 :(得分:1)
同时出现多个请求时会发生什么
您将违反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
)