【发布时间】:2014-01-13 21:45:52
【问题描述】:
我正在尝试在数据库图表上将主键列设置为 Identity = Yes。
我单击要设置的列,然后按 F4 以显示该列的属性。我通常滚动到身份并将其更改为是,但它现在不允许我这样做。我认为这是因为该列在其他表中设置为外键?
我不想删除连接,我可以这样做吗?
这里是一些截图:
改变的关键:
F4(属性);更改已禁用:
【问题讨论】:
-
您不能将现有列更改为
IDENTITY- 您必须创建一个新列并将其设置为IDENTITY -
@marc_s - SSMS 通常允许您生成脚本来重建表。它在此处显示为灰色的原因是您不能将
uniqueidentifier列设为identity列。身份需要int或numeric(x,0)数据类型。 -
@marc_s - 实际上,它将整个表复制到一个新表,然后删除原始表并重命名副本。
-
我的回答解决了你的问题吗?
-
@t-clausen.dk 我实际上默认删除密钥并将其重新创建为 int 而不是 UniqueIdentifier。感谢您的回答,我知道对于那些没有像我在新设计的数据库中那样重新创建列的奢侈的人来说,这可能是一个很好的解决方案。谢谢。
标签: sql-server tsql database-design