我正在尝试在数据库图表上将主键列设置为Identity = Yes。
我单击要设置的列,然后按F4以显示该列的属性。我通常滚动到Identity并将其更改为Yes但是现在不让我这样做。我认为这是因为列被设置为其他表中的外键?
我不想删除连接,无论如何我能做到吗?
以下是一些截图:
改变的关键:
F4(属性);更改被禁用:
答案 0 :(得分:1)
以下是使用表格测试的示例:
create table test(id int, a int)
insert test values(3,1)
alter table test add id_new int identity(1,1)
go
SET IDENTITY_INSERT test ON
delete from test
output deleted.id, deleted.a, deleted.id into test(id, a, id_new)
SET IDENTITY_INSERT test OFF
go
alter table test drop column id
EXEC sp_rename
@objname= 'test.id_new',
@newname = 'id',
@objtype = 'COLUMN'
declare @maxid int = (select max(id) from test)
DBCC CHECKIDENT(test, RESEED, @maxid);
您的列ID是标识列
你可以在这里测试一切正常:
insert test values(10)
select * from test