2013-11-14 64 views
0

我需要更改列但我不想删除表或列并重新创建它。有没有办法做到这一点?将IDENTITY属性添加到列而不删除列或表

+0

您可能需要添加一个标识列,并复制数据到新列,然后放下o ld列并重命名新的id列。 –

+0

@Michael你如何将数据复制到新列?您不能对IDENTITY列使用UPDATE - 只能使用SET IDENTITY_INSERT ON进行INSERT。这意味着新表,而不是新的列。 –

+0

使用临时表保存数据,同时重新插入所有内容。或BCP数据输出 - >添加id列 - >删除旧列 - >重命名id列 - > BCP数据英寸 –

回答

0

有没有办法做到这一点,对不起。如果您想将IDENTITY属性添加到现有列,则必须删除某些内容(表或列)。

0

不可能不删除列或表。

我建议以下情形作出标识列:

1)删除所有索引/约束 2)从表中 3创建临时表)中删除所有数据,表格 4)删除并重新列与身份 5)填充从临时表的表(注意,你需要使用set identity_insert) 6)创建索引和约束您删除 7)删除临时表