【问题标题】:Using IDENTITY while creating table创建表时使用 IDENTITY
【发布时间】:2018-02-19 08:00:56
【问题描述】:

我正在学习 SQL,对这个世界完全陌生。我学到/读到的关于使用身份的内容是:它用于创建一个带有种子和增量值的身份列~身份(种子,增量)。但是通过网上一些可用的示例数据库,我遇到了这个表创建脚本:

create table Customer 
(
    Id                   int                  identity,
    FirstName            nvarchar(40)         not null,
    LastName             nvarchar(40)         not null,
    City                 nvarchar(40)         null,
    Country              nvarchar(40)         null,
    Phone                nvarchar(20)         null,
    constraint PK_CUSTOMER primary key (Id)
)
go

我尝试使用此代码创建表,并且成功。

有人可以解释为什么IDENTITY 这里没有种子和增量值吗?我们什么时候应该像这样使用它(没有种子和增量值)?

TIA

【问题讨论】:

  • IDENTITY 有默认种子和增量值分别为 1,
  • 换句话说 sql server 为你做了一些事情。

标签: sql-server auto-increment identity


【解决方案1】:

当你使用 --> Id int identity

相当于---> Id int identity(1,1)

所以第一个值将被插入到 Id = 1 的表中,并为下一行增加 1。因此,如果未指定任何内容,这是身份的默认值。如果您想以某个特定数字开始您的 Id,例如 - 您想要创建 customerId 列,该列应该具有至少 5 位 id,而不是您必须将该列定义为 ---> CustomerId int identity(10000 ,1 )

【讨论】:

  • 感谢您的回答。这很有帮助。
猜你喜欢
  • 2019-11-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-31
  • 1970-01-01
  • 2021-05-16
  • 2014-08-29
  • 2017-10-30
相关资源
最近更新 更多