Pertanyaan Bagaimana saya bisa mengganti nama kolom saya dalam tabel SQL?


Bagaimana saya bisa mengganti nama kolom melalui alter table di MS SQL 2005?

Sebagai contoh:

alter table tablename rename "old col name" to "new col name"

9
2018-06-17 08:29


asal


Jawaban:


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

18
2018-06-17 08:33



saya ingin membuatnya tanpa sp_rename   bagaimana saya bisa melakukan itu mengubah ..

Anda tidak bisa. Anda dapat membuat kolom baru di tabel, menggunakan nama baru, salin isi kolom lama ke kolom baru, dan kemudian drop kolom lama (itu dua ALTER dan UPDATE), tetapi satu-satunya cara untuk melakukannya jika tidak adalah sp_rename.

Berikut tautan ke ALTER TABLE dokumentasi, di mana Anda dapat melihat opsi apa yang tersedia untuk Anda. Perubahan bukan salah satunya.

Bagian dokumentasi ini mencakup apa yang dapat Anda lakukan sebagai bagian dari klausa ALTER COLUMN dari 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}
}

Perhatikan, tidak ada sebutan nama baru. Jadi, sekali lagi, untuk mengulang, Anda tidak dapat mengganti nama kolom menggunakan ALTER TABLE, di SQL Server. Jika mereka menerapkan sintaks standar (yang tidak mereka lakukan), itu akan menjadi ALTER TABLE [table_name] RENAME {COLUMN} [column_name] KE [new_column_name]


4
2018-06-17 08:35



sp_rename seperti yang dijelaskan sini.

Meskipun sepertinya aku ingat bahwa itu tidak selalu bisa digunakan.


2
2018-06-17 08:32



Coba ini untuk mengganti nama kolomnya

EXEC sp_RENAME 'table_name.old_Column_name', 'new_Column_name', 'COLUMN'

1
2017-12-18 10:59



Untuk MySQL, sintaksnya adalah:

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

0
2018-02-12 09:19