【发布时间】:2014-04-15 20:09:20
【问题描述】:
我正在创建一个包含 1 个标识列和 1 个唯一列的表。但是当我们在表中插入重复值时,它会按预期显示错误,但标识列增加了 1。这没有显示。我们的问题是为什么身份栏增加? 示例:-
create table test (
id int identity( 1,1) ,
name varchar(20) not null unique,
description varchar(100)
)
第一个插入命令:-
insert into test
values(‘Hello’,’India’)
再次运行相同的命令
insert into test
values(‘Hello’,’India’)
预期的错误
消息 2627,第 14 级,状态 1,第 1 行 违反 UNIQUE KEY 约束‘UQ__test__72E12F1B1571C0B7’。无法在对象“dbo.test”中插入重复键。重复键值为 (Hello)。 声明已终止。
insert into test
values(‘Hello Kalyan’,’India’)
那么输出是
id name description
1 Hello India
3 Hello Kalyan India
为什么表中缺少 2?
请帮忙。
【问题讨论】:
标签: sql