在发布这个问题之前,我已经尝试了很多东西,但这对我没有帮助。 我想重命名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
答案 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
,但如果表中已有数据,您可能还想为其指定默认值。