2010-03-15 52 views
41

我試了下面的代碼。儘管我沒有得到任何錯誤,但並沒有這樣做。重命名SQL Server中的列

SELECT * FROM Categories EXEC sp_rename 'Active', CategoriesActive 
+0

您想要完成什麼? 要更改表中的值或更改表中列的名稱或更改多列的名稱? – SWeko 2010-03-15 15:15:13

+0

你能列出你有什麼表/列和你想要重命名的東西嗎? – 2010-03-15 15:15:36

回答

76
EXEC sp_rename 'Categories.Active', 'CategoriesActive', 'COLUMN' 
+1

另請參閱[sp_rename]的MSDN文檔(http://technet.microsoft.com/zh-cn/library/ms188351.aspx)。 – 2014-04-02 13:49:37

5

需要使用以前面那個選擇,而且語法應該是這樣的:

EXEC sp_rename 
    @objname = 'Categories.Active', 
    @newname = 'CategoriesActive', 
    @objtype = 'Type_of_your_column' 
37

爲MSSQL:

EXEC sp_rename 'TABLENAME.OLD_COLUMNNAME', 'NEW_COLUMNAME', 'COLUMN'; 

對於MySQL :使用ALTER TABLE來做到這一點

ALTER TABLE tbl_name CHANGE [COLUMN] old_col_name new_col_name 

您可以使用CHANGE old_col_name new_col_name column_definition子句重命名列。爲此,請指定舊列名和新列名以及該列當前具有的定義。例如,要將INTEGER列從a重命名爲b,您可以這樣做:

ALTER TABLE t1 CHANGE a b INTEGER; 
+0

http://msdn.microsoft.com/en-us/library/ms190273.aspx似乎沒有指出ALTER TABLE語句的CHANGE子句 – SWeko 2010-03-15 15:23:05

+0

對不起,我誤解了我認爲他指的是MYsql而不是MSsql的問題! 將相應編輯 – Xander 2010-03-15 15:26:15

+0

實際上它不是用於「sp_rename」這個非常特定於數據庫的問題本來是數據庫不可知的:) – SWeko 2010-03-15 15:28:53