在不删除列或表的情况下,为列添加IDENTITY属性。

23 浏览
0 Comments

在不删除列或表的情况下,为列添加IDENTITY属性。

我需要修改一个列,但是我不想删除表格或列然后重新创建。有没有一种方法可以实现这个?

0
0 Comments

问题的原因:问题的提问者不想删除表或列并重新创建,但是想要给列添加IDENTITY属性。

解决方法:可以使用SQL Server Management Server来实现。具体步骤如下:

1. 打开SQL Server Management Server。

2. 转到“工具”->“选项”->“设计”->“表和数据库设计师”。

3. 在这里取消选中“防止保存需要重新创建表的更改”。

4. 参考附图 here

这样做可以实现给列添加IDENTITY属性,而不需要删除表或列并重新创建。

0
0 Comments

在不删除列或表的情况下,给列添加IDENTITY属性是不可能的。

我建议按照以下步骤为列创建IDENTITY属性:

1)删除所有索引/约束

2)从您的表创建临时表

3)删除您的表中的所有数据

4)删除并重新创建带有IDENTITY的列

5)从临时表中填充您的表(注意您需要使用set identity_insert

6)创建您删除的索引和约束

7)删除临时表

0
0 Comments

很抱歉,目前没有办法在不删除表或列的情况下为列添加IDENTITY属性。如果你想要给一个现有的列添加IDENTITY属性,你必须要删除某些东西(可以是表或列)。

解决方法:

1. 创建一个新表,包含你想要的IDENTITY列以及其他需要的列。

CREATE TABLE new_table
(
    id INT IDENTITY(1,1),
    column1 datatype,
    column2 datatype,
    ...
)

2. 从原始表中选择数据插入到新表中。

INSERT INTO new_table (column1, column2, ...)
SELECT column1, column2, ...
FROM old_table

3. 如果需要,删除原始表。

DROP TABLE old_table

4. 重命名新表为原始表的名称。

sp_rename 'new_table', 'old_table'

这样,你的新表就拥有了IDENTITY属性的列,而且还保留了原有的数据。

0