SQL数据库 删除一行后 自动填充序号
时间: 2023-09-13 21:03:51 浏览: 90
SQL Server中通用数据库角色权限的处理详解
在 SQL 数据库中,可以通过 `IDENTITY` 属性来实现自动填充序号。当删除一行后,序号会自动重新排列。
下面是一个简单的示例,其中 `ID` 字段就是自动填充的序号:
```sql
CREATE TABLE [dbo].[MyTable](
[ID] [int] IDENTITY(1,1) NOT NULL,
[Name] [nvarchar](50) NOT NULL,
[Age] [int] NOT NULL,
[Gender] [nvarchar](10) NOT 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]
```
在上述代码中,`ID` 字段使用了 `IDENTITY(1,1)` 属性,表示自动填充序号,初始值为 1,每次自增 1。
当删除一行后,序号会自动重新排列。例如,如果删除了 `ID` 为 2 的行,则下一次插入数据时,新的 `ID` 将从 3 开始。
如果需要手动更新序号,可以使用以下 SQL 语句:
```sql
DBCC CHECKIDENT ('MyTable', RESEED, 1)
```
上述语句将重新设置 `MyTable` 表的自动填充序号,下一次插入数据时,新的 `ID` 将从 1 开始。
阅读全文