sqlserver设置为自增
时间: 2024-12-25 17:28:24 浏览: 3
在 SQL Server 中,设置列自动增长(自增)通常用于整数类型的 ID 列,比如主键。这是为了确保每条记录都有唯一的标识符,而无需手动输入。以下是如何在 SQL Server 中设置一个整数列为自动递增(也称为 "Identity"):
1. **创建表时设置**:
当创建一个新的表时,可以在 `ID` 列上添加 `IDENTITY` 关键字。例如:
```sql
CREATE TABLE Employees (
EmployeeID INT PRIMARY KEY IDENTITY(1, 1),
Name NVARCHAR(50),
Department VARCHAR(50)
);
```
这里 `IDENTITY(1, 1)` 表示从1开始,每次增加1。
2. **已有表中修改**:
如果表已经存在并且你想让它有一个新的自动增长列,可以通过 ALTER TABLE 命令添加:
```sql
ALTER TABLE Employees
ADD EmployeeID INT NOT NULL DEFAULT (NEWSEQUENTIALID()),
ALTER COLUMN EmployeeID INT IDENTITY(1, 1) PRIMARY KEY;
```
`NEWSEQUENTIALID()` 可以替换为 `IDENTITY()`,但前者会更高效地分配连续的大范围数字。
3. **管理自增序列**:
自增列的增量默认是1,如果你需要更改步长或初始值,可以使用 `ALTER TABLE` 的 `IDENTITY` 子句,如 `ALTER TABLE... AUTO_INCREMENT BY N`.
4. **启用和禁用**:
如果想关闭某个已经存在的自增列,可以先将其 `IDENTITY` 设置为 `OFF`,再删除或重置自动增长属性。
相关问题:
1. 如何查看表中的自增长列信息?
2. SQL Server 中如何暂停或重新启动 IDENTITY 列的生成?
3. 如何恢复被误删的自增长编号?
阅读全文