如何在SQL Server中的列中添加标识?
我有一张约1000万行的桌子.我们刚从SQL Server Management Studio从另一个数据库导入它.它创建表,但在主键列上没有标识和主键.
我可以添加主键,但不能添加身份.当我在设计师这样做的时候,这一直是超时的.即使我将超时设置设置为0. 我需要创建大概另一个列集主键和身份,从旧的复制数据,删除旧列并重新命名新的列. 任何人都可以告诉我,如果没有额外的过热,那么最好的办法是做这样的大桌子呢? 解决方法您不能将IDENTITY添加到现有列.它根本无法做到.您将需要创建一个类型为INT IDENTITY的新列,然后删除不再需要的旧列(并且可能将新列重命名为旧名称 – 如果需要) 另外:我不会在视觉设计器中这样做 – 这将尝试用新结构重新创建表,复制所有数据(全部为10万行),然后删除旧表. 使用直接T-SQL语句更有效率 – 这将执行“就地”更新,非破坏性(无数据丢失),并且不需要在该进程中复制大约1000万行. . ALTER TABLE dbo.YourTable ADD NewID INT IDENTITY(1,1) NOT NULL 当您添加一个类型为INT IDENTITY的新列到表中时,将自动填充连续的数字.您不能阻止这种情况发生,您也不能在以后更新值. 这些选项都不是非常有用的,最终你可能会得到不同的ID值….要做到这一点,你必须: >提前创建新表,结构正确,IDENTITY已经到位 只有使用这种方法,您才能在新表中的IDENTITY列中获取相同的ID. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |