2010-03-15 103 views
41

Tôi đã thử mã sau đây. Mặc dù tôi không nhận được bất kỳ lỗi nào, nhưng nó không làm được.Đổi tên cột trong SQL Server

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

Và bạn đang cố gắng làm gì? Để thay đổi các giá trị trong bảng, hoặc để thay đổi tên của một cột trong bảng, hoặc để thay đổi tên của nhiều cột? – SWeko

+0

Bạn có thể liệt kê những bảng/cột bạn có và những gì bạn muốn đổi tên chúng? –

Trả lời

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

Cũng thấy [tài liệu MSDN cho 'sp_rename'] (http://technet.microsoft.com/en-us/library/ms188351.aspx). –

5

Bạn không cần phải sử dụng mà chọn ở phía trước, và cú pháp nên được như thế:

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

CHO MSSQL:

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

CHO MYSQL : Sử dụng ALTER TABLE để làm điều này

ALTER TABLE tbl_name CHANGE [COLUMN] old_col_name new_col_name 

Bạn có thể đổi tên cột bằng cách sử dụng mệnh đề CHANGE old_col_name new_col_name column_definition. Để làm như vậy, chỉ định tên cột cũ và mới và định nghĩa mà cột hiện có. Ví dụ: để đổi tên cột INTEGER từ a thành b, bạn có thể làm điều này:

+0

http://msdn.microsoft.com/en-us/library/ms190273.aspx dường như không chỉ ra mệnh đề CHANGE đối với câu lệnh ALTER TABLE – SWeko

+0

Xin lỗi tôi đã đọc nhầm câu hỏi mà tôi nghĩ rằng anh ta đang đề cập đến MYsql không phải là MSsql ! Sẽ chỉnh sửa cho phù hợp – Xander

+0

thực sự nó không phải là cho "sp_rename" câu hỏi rất cụ thể về cơ sở dữ liệu này sẽ là cơ sở dữ liệu thuyết phục :) – SWeko

Các vấn đề liên quan