更新列名并将其设置为自动增量时,正在执行批处理时发生错误

时间:2015-03-19 07:20:32

标签: sql database database-design

我在数据库中创建了一个表。但是,我忘记将“invoiceID”列设置为自动增加,并且我希望将列名编辑为“inv_ID”

CREATE TABLE [dbo].[Order] (
    EXEC sp_rename '[inv_Id]', '[invoiceID]', 'COLUMN', INT  NOT NULL,;       
    [inv_date] DATE NOT NULL,
    [cust_Id]  INT  NOT NULL,
    PRIMARY KEY CLUSTERED ([inv_Id] ASC)

);

错误讯息:

An error occurred while the batch was being executed.

1 个答案:

答案 0 :(得分:0)

看起来你有两个问题:

1)如何使用sp_rename更改列名:

您可以使用以下方式执行此操作:

EXEC sp_rename '<oldname>', '<newname>', 'COLUMN';

2)如何添加auto-increment。这实际上是在this SO question中回答的,但是如果你想在没有数据压力的情况下这样做会有点痛苦。