gpt4 book ai didi

sql-server - SQL Server 创建一个带有 IDENTITY COLUMN 的表 - 唯一性

转载 作者:行者123 更新时间:2023-12-02 01:13:37 26 4
gpt4 key购买 nike

在 SQL Server 中,我创建了一个带有 ID 列的表,我将其设为 IDENTITY COLUMN,

EmployeeID int NOT NULL IDENTITY(100,10) PRIMARY KEY

据我了解,当我使用 IDENTITY 功能时,它会自动增加 EmployeeID。我不知道/不确定的是:

  • IDENTITY 编号是否已创建且独一无二?
  • SQL 是否搜索表中的整个列以确认创建的数字不存在?
  • 我可以手动覆盖那个自动递增的数字吗?
  • 如果我确实手动覆盖了该号码,是否会检查我输入的号码以确保它不是重复的/现有的 ID 号码?

感谢您提供的任何帮助。

最佳答案

Is that IDENTITY number created, unique?

是的,Identity属性是唯一的

Does SQL search the entire column in the table to confirm the number created does not already exist? \

不需要,这个属性所做的只是增加旧值

Can I override that auto increment number manually?

是的,你可以。您必须使用 SET IDENTITY_INSERT TABLENAME ON

If I did manually override that number, would the number I enter be checked to make sure it is not a duplicate/existing ID number?

不,SQL Server 不会处理这个问题,你必须确保你有约束来处理这个问题

下面是一个简单的demo来证明

create table #temp
(
id int identity(1,1)
)

insert into #temp
default values
go 3

select * from #temp--now id column has 3

set identity_insert #temp on
insert into #temp (id)
values(4)

set identity_insert #temp off

select * from #temp--now id column has 4

insert into #temp
default values
go

select * from #temp--now id column has 5,next value from the last highest

根据评论更新信息:
一旦你重新播种,身份列将允许间隙,你也不能更新它们

关于sql-server - SQL Server 创建一个带有 IDENTITY COLUMN 的表 - 唯一性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43703191/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com