sqlserver 主键ID自增

本文介绍如何设置数据库字段为自动递增标识,并讨论了当所有记录被删除后,标识不会重新从1开始的问题。

双击下方的标识即可。。。

方法:

这个问题很好实现的,数据类型设成 INT
然后 

设标识为是

标识种子为 1

标识递增量为 1
但是自动编号有个问题,就是说,如果你把数据库的记录全清除
那它的编号也不会再从1开始,而是一直向下加了。

### SQL Server 主键 ID实现方法 在 SQL Server 中,可以通过设置主键字段为 `IDENTITY` 属性来实现自功能。以下是具体的实现方式和注意事项: #### 1. 创建表时定义主键为自 在创建表时,可以将主键字段定义为 `IDENTITY`,并指定起始值和步长。以下是一个示例代码[^4]: ```sql CREATE TABLE [dbo].[BSRecord] ( [id] int IDENTITY(1,1) NOT NULL, -- 主键字段,自起始值为1,步长为1 [shipmentNo] varchar(11) COLLATE Chinese_PRC_CI_AS NULL, [fileName] varchar(35) COLLATE Chinese_PRC_CI_AS NULL, [pageId] int NULL, [type] int NULL, PRIMARY KEY CLUSTERED ([id] ASC) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY]; ``` 上述代码中,`IDENTITY(1,1)` 表示从 1 开始,每次递 1。 #### 2. 修改现有表以添加自主键 如果需要为已有的表添加自主键,可以按照以下步骤操作[^2]: - 首先确认目标表是否已经有主键。如果没有,则可以添加一个新字段作为主键。 - 使用 `ALTER TABLE` 语句添加一个带有 `IDENTITY` 属性的字段,并将其设置为主键。 例如: ```sql ALTER TABLE [dbo].[table_name] ADD [id] int IDENTITY(1,1) NOT NULL; ALTER TABLE [dbo].[table_name] ADD CONSTRAINT PK_table_name PRIMARY KEY ([id]); ``` #### 3. 取消主键的自属性 如果需要取消主键的自属性,可以通过删除该字段并重新定义的方式实现: ```sql ALTER TABLE [dbo].[table_name] DROP COLUMN [id]; ALTER TABLE [dbo].[table_name] ADD [id] int NOT NULL; ``` #### 4. 插入数据时的注意事项 当使用 `IDENTITY` 定义的字段时,插入数据时不需要显式指定该字段的值。SQL Server 会自动为其生成递值。例如[^3]: ```sql INSERT INTO [dbo].[BSRecord] ([shipmentNo], [fileName], [pageId], [type]) VALUES ('12345678901', 'example.txt', 1, 1); ``` 如果需要手动插入特定值到 `IDENTITY` 字段中,可以临时关闭 `IDENTITY_INSERT` 属性[^4]: ```sql SET IDENTITY_INSERT [dbo].[BSRecord] ON; INSERT INTO [dbo].[BSRecord] ([id], [shipmentNo], [fileName], [pageId], [type]) VALUES (100, '12345678901', 'example.txt', 1, 1); SET IDENTITY_INSERT [dbo].[BSRecord] OFF; ``` --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值