2010-06-17 45 views

Trả lời

18
sp_rename 'TableName.ColumnName', 'NewColumnName', 'COLUMN' 
2

sp_rename như mô tả here.

Mặc dù tôi có vẻ nhớ rằng không phải lúc nào cũng được sử dụng.

+0

tôi muốn làm điều đó mà không sp_rename thế nào tôi có thể làm điều đó thay đổi .... – Penguen

+0

@Phsika: Đừng nghĩ rằng bạn có thể, đã thất vọng tôi cũng thỉnh thoảng. –

4

tôi muốn làm điều đó mà không sp_rename thế nào tôi có thể làm điều đó thay đổi ..

Bạn không thể. Bạn có thể tạo cột mới trong bảng, sử dụng tên mới, sao chép nội dung của cột cũ vào cột mới và sau đó thả cột cũ (đó là hai ALTER và UPDATE), nhưng cách duy nhất để làm điều đó bằng cách khác là sp_rename.

Đây là liên kết tới ALTER TABLE documentation, nơi bạn có thể xem các tùy chọn nào có sẵn cho bạn. Thay đổi không phải là một trong số họ.

Phần này của tài liệu bao gồm những gì bạn có thể làm như một phần của ALTER COLUMN khoản của ALTER TABLE:

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} 
} 

Lưu ý, không có đề cập đến một cái tên mới. Vì vậy, một lần nữa, để lặp lại, bạn không thể đổi tên một cột bằng ALTER TABLE, trong SQL Server. Nếu họ thực hiện cú pháp tiêu chuẩn (mà họ không), nó sẽ là ALTER TABLE [table_name] ĐỔI TÊN {COLUMN} [column_name] ĐẾN [new_column_name]

+0

Thay đổi bảng 'Khách hàng' thay đổi 'newColumnName' '[First_Name]' loại kích thước là nó đúng CHANGE không phải là trong ms sql? – Penguen

0

Đối với MySQL cú pháp là:

ALTER TABLE <db>.<table> CHANGE COLUMN <old_column_name> <new_column_name> <column_type>; 
1

hãy thử điều này để đổi tên cột là

EXEC sp_RENAME 'table_name.old_Column_name', 'new_Column_name', 'COLUMN' 
Các vấn đề liên quan