sqlserver 设置自增列的值
时间: 2024-10-10 19:16:55 浏览: 66
在 SQL Server 中设置自增列(通常称为标识符或Identity列)的值,主要是用于自动维护行的唯一标识,它会根据预设的规则每次插入新记录时自动增加。以下是如何设置基本的自增规则:
1. **创建表时添加Identity列**:
```sql
CREATE TABLE MyTable (
Id INT IDENTITY(1, 1) PRIMARY KEY,
...其他列...
);
```
这里 `IDENTITY(1, 1)` 表示起始值为1,每次递增1。
2. **改变初始值和步进**:
如果需要更改初始值和步长,可以使用 `ALTER COLUMN` 语句:
```sql
ALTER TABLE MyTable
ALTER COLUMN Id INT IDENTITY (5, 2); -- 起始值5,每次加2
```
3. **禁用或启用Identity**:
可以暂时关闭Identity以手动设置值,然后开启:
```sql
ALTER TABLE MyTable
NOCHECK CONSTRAINT ALL; -- 禁用完整性检查
INSERT INTO MyTable (SomeColumn) VALUES ('SomeValue');
UPDATE MyTable SET Id = 100; -- 手动设置Id
ALTER TABLE MyTable CHECK CONSTRAINT ALL; -- 开启完整性检查
```
4. **删除所有并重新设置Identity**:
如果你想从头开始计数,可以先删除所有数据再重置:
```sql
DELETE FROM MyTable;
DBCC CHECKIDENT('MyTable', RESEED, 0); -- 重置到0
```
请注意,每次操作前都要谨慎,因为修改Identity可能会导致数据丢失或混乱。
阅读全文