k-s*_*k-s 9 t-sql sql-server-2008
我已创建表,并希望更改该表.我想添加一个主键和identity(1,1).
我可以应用主键但应用标识会产生错误.有什么遗失?
ALTER TABLE MyTable ADD PRIMARY KEY (Id)
Run Code Online (Sandbox Code Playgroud)
如何使用主键添加标识?
Dam*_*ver 20
您不能更改数据库中现有列的定义,以添加IDENTITY属性(也不能删除它).您必须使用属性创建一个新列IDENTITY:
ALTER TABLE MyTable ADD NewID int IDENTITY(1,1) not null
Run Code Online (Sandbox Code Playgroud)
不幸的是,您无法将旧ID值分配给此新列.如果要分配ID值,然后让IDENTITY接管,最好创建一个具有所需结构的新表,然后从旧表导入数据(可以使用IDENTITY_INSERT为IDENTITY列分配值).
然后,如果需要,您将删除旧表并重命名新表.