以下是对主流数据库自动编号(Auto-Increment)机制的详细解析,涵盖语法、特性、使用场景及最佳实践:
一、SQL Server
1. 实现方式
CREATE TABLE Products (
ProductID INT IDENTITY(1,1) PRIMARY KEY, -- 从1开始,步长1
ProductName NVARCHAR(100)
);
2. 核心特性
- 关键函数
SCOPE_IDENTITY()
:获取当前作用域的最新ID(推荐)@@IDENTITY
:获取当前连接的最新ID(可能被触发器干扰)
- 重置种子
DBCC CHECKIDENT ('Products', RESEED, 1000); -- 重置种子为1000
- 高并发支持
通过OUTPUT
子句批量获取插入的ID:INSERT INTO Products (ProductName) OUTPUT INSERTED.ProductID VALUES ('Keyboard'), ('Mouse');
3. C# 获取新ID
string sql = @"INSERT INTO Products (ProductName)
VALUES (@Name);