2010-03-15 15 views
41

Próbowałem następujący kod. Chociaż nie dostaję żadnych błędów, nie udało się.Zmień nazwę kolumny w SQL Server

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

I co próbujesz osiągnąć? Aby zmienić wartości w tabeli lub zmienić nazwę kolumny w tabeli lub zmienić nazwy wielu kolumn? – SWeko

+0

Czy możesz wymienić jakie tabele/kolumny masz i do czego chcesz je zmienić? –

Odpowiedz

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

Zobacz także [dokumentacja MSDN dla 'sp_rename'] (http://technet.microsoft.com/en-us/library/ms188351.aspx). –

5

Robisz nie trzeba użyć, że wybierz z przodu, a składnia powinna być jak:

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

dla MSSQL:

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

dla MySQL : Użyj ALTER TABLE, aby to zrobić

ALTER TABLE tbl_name CHANGE [COLUMN] old_col_name new_col_name 

Możesz zmienić nazwę kolumny, używając CHANGE old_col_name new_col_name column_definition clause. Aby to zrobić, określ starą i nową nazwę kolumny oraz definicję, jaką ma obecnie kolumna. Na przykład, aby zmienić nazwę kolumny INTEGER z a na b, można to zrobić:

ALTER TABLE t1 CHANGE a b INTEGER; 
+0

http://msdn.microsoft.com/en-us/library/ms190273.aspx nie wydaje się wskazywać klauzula CHANGE do instrukcji ALTER TABLE – SWeko

+0

Przepraszamy, źle odczytałem pytanie, które myślałem, że on odnosi się do MYsql, a nie MSsql ! Zmienimy odpowiednio – Xander

+0

faktycznie to nie było dla "sp_rename" to bardzo pytanie bazy danych byłoby agnostyczne bazy danych :) – SWeko