SQL Server 2005查询未运行

时间:2011-01-07 13:45:55

标签: sql sql-server-2005

在发布这个问题之前,我已经尝试了很多东西,但这对我没有帮助。 我想重命名sql server 2005中的表的列,以后我在sql server2005上运行查询:

  

1)ALTER TABLE详情RENAME COLUMN   AccountID TO UID;但它给了我   错误:附近的语法不正确   关键字'COLUMN'。

     

2)我在中添加了一个新列   table by query:ALTER TABLE Details   ADD BID uniqueidentifier;然后我   想要将coulmn属性设置为不   null。

我该怎么做?

提前致谢 AS

2 个答案:

答案 0 :(得分:4)

使用sp_Rename 'TableName.Column', 'NewColumnName', 'COLUMN'

为了完成问题的第二部分,您需要执行以下操作:

ALTER TABLE myTable 
        ADD myColumn UNIQUEIDENTIFIER NOT NULL DEFAULT 'some default value'  

如果您不想指定默认值,则必须先使用NULL创建列。创建列后,您可以使用所需的值填充,然后将列重新更改为NOT NULL

答案 1 :(得分:2)

1)为什么不使用sp_rename而不是ALTER TABLE?例如:

EXEC sp_rename 'Details.[AccountID]', 'title', 'UID'

2)您可以使用ALTER TABLE Details ALTER COLUMN BID NOT NULL,但如果表中已有数据,您可能还想为其指定默认值。