【问题标题】:Modify the identity specification of primary key in database修改数据库中主键的标识规范
【发布时间】:2013-10-31 08:47:30
【问题描述】:

我有表“Categories”,其中主键是“categoryId”。最初,我犯了一个错误,没有将身份规范设置为“是”。现在我有其他表,其中“categoryId”用作外键。我必须将身份规范设为“是”,但 SQL Server 2005 不允许我这样做。

除了为整个数据库创建脚本然后创建新的“类别”表之外,还有其他选项可以将其设置为“是”吗?

我也尝试从该列中删除主键,但它告诉我子表将被删除。

我也试过this one,但不符合我的要求。

【问题讨论】:

  • 您是否尝试在表格设计中这样做?
  • 我的意思是,通过属性窗口将身份规范设置为是?
  • @Aishvarya:是的,通过转到列属性窗口。

标签: sql sql-server database


【解决方案1】:

试试这个。 然后转到sql server management studio: 工具 -> 选项 -> 设计器 -> 防止保存需要重新创建表的更改(取消选中此项)

在此之后再次尝试设置标识列

【讨论】:

  • 如果您这样做,您将丢失所有数据。
  • @Light : SQL 服务器甚至没有通过工具 -> 选项 -> 设计器 -> 向我显示该选项(防止保存需要重新创建表的更改)
  • @NeilKnight 这不会影响数据。
  • @Sohail 你安装了 sql server management studio 吗?而你看不到这个选项?
  • @Light:在我的情况下,SQL 没有显示this highlighted
【解决方案2】:

如果丢失数据没有问题,则意味着您可以通过从表中删除数据来重试。

【讨论】:

  • 是的,将尝试制作虚拟数据库。谢谢
猜你喜欢
  • 1970-01-01
  • 2013-02-24
  • 1970-01-01
  • 2016-04-02
  • 1970-01-01
  • 2011-06-19
  • 1970-01-01
  • 2013-07-31
  • 1970-01-01
相关资源
最近更新 更多