我有一个Orders包含以下字段的表:
Id | 小计| 税| 运输| 创建日期
该Id列设置为autoincrement(1,1).
这将用于电子商务店面.有时,当前的电子商务商店会迁移到我的平台,并且他们已经拥有订单 - Order.Id例如,这可能意味着他们当前的订单9586.
我希望该autoincrement字段从该值开始.
我怎样才能做到这一点?
小智 110
检索表的标识Employees:
DBCC checkident ('Employees')
Run Code Online (Sandbox Code Playgroud)
修复身份种子(如果由于某种原因,数据库正在插入重复的身份):
DBCC checkident ('Employees', reseed)
Run Code Online (Sandbox Code Playgroud)
将表的标识种子更改Employees为1000:
DBCC checkident ('Employees', reseed, 1000)
Run Code Online (Sandbox Code Playgroud)
插入的下一行将从1001开始.
Nic*_*rke 25
您需要将Identity种子设置为该值:
CREATE TABLE orders
(
id int IDENTITY(9586,1)
)
Run Code Online (Sandbox Code Playgroud)
要更改当前表:
ALTER TABLE orders ALTER COLUMN Id IDENTITY (9586, 1);
Run Code Online (Sandbox Code Playgroud)
有关CREATE TABLE(Transact-SQL)IDENTITY(属性)的更多信息
Pau*_*ams 10
另请注意,您通常无法为IDENTITY列设置值.但是,如果为表设置IDENTITY_INSERT为ON ,则可以指定行的标识.例如:
SET IDENTITY_INSERT Orders ON
-- do inserts here
SET IDENTITY_INSERT Orders OFF
Run Code Online (Sandbox Code Playgroud)
此插入将身份重置为最后插入的值.来自MSDN:
如果插入的值大于表的当前标识值,则SQL Server会自动使用新插入的值作为当前标识值.
| 归档时间: |
|
| 查看次数: |
97309 次 |
| 最近记录: |