如何在MS SQL 2005中通过alter table
重命名列?
例如:
alter table tablename rename "old col name" to "new col name"
答案 0 :(得分:19)
sp_rename 'TableName.ColumnName', 'NewColumnName', 'COLUMN'
答案 1 :(得分:4)
我想在不使用sp_rename的情况下制作它 我怎么能这样改变..
你做不到。您可以在表中创建一个新列,使用新名称,将旧列的内容复制到新列中,然后删除旧列(这是两个ALTER和一个UPDATE),否则只能这样做是sp_rename。
这是指向ALTER TABLE documentation的链接,您可以在其中查看可用的选项。改变不是其中之一。
本文档的这一部分介绍了您可以在ALTER TABLE的ALTER COLUMN子句中执行的操作:
ALTER COLUMN column_name { [ type_schema_name. ] type_name [ ( { precision [ , scale ] | max | xml_schema_collection } ) ] [ COLLATE collation_name ] [ NULL | NOT NULL ] | {ADD | DROP } { ROWGUIDCOL | PERSISTED | NOT FOR REPLICATION} }
注意,没有提到新名称。因此,重复一遍,您无法在SQL Server中使用ALTER TABLE重命名列。如果他们实现了标准语法(他们没有),那就是ALTER TABLE [table_name] RENAME {COLUMN} [column_name] TO [new_column_name]
答案 2 :(得分:2)
sp_rename
如here所述。
虽然我似乎记得它不能总是被使用。
答案 3 :(得分:1)
尝试将列重命名为
EXEC sp_RENAME 'table_name.old_Column_name', 'new_Column_name', 'COLUMN'
答案 4 :(得分:0)
对于MySQL,语法为:
ALTER TABLE <db>.<table> CHANGE COLUMN <old_column_name> <new_column_name> <column_type>;