web-dev-qa-db-de.com

Benennen Sie eine Spalte in MySQL um

Ich versuche, eine Spalte in MySQL Community Server 5.5.27 mit diesem SQL-Ausdruck umzubenennen:

ALTER TABLE table_name RENAME COLUMN old_col_name TO new_col_name;

Ich habe es auch versucht

ALTER TABLE table_name RENAME old_col_name TO new_col_name;

Es heißt aber:

Fehler: Überprüfen Sie das Handbuch, das Ihrer MySQL-Server-Version entspricht

127
Michael Peter

Verwenden Sie die folgende Abfrage:

ALTER TABLE tableName CHANGE `oldcolname` `newcolname` datatype(length);

Die Funktion RENAME wird in Oracle-Datenbanken verwendet.

ALTER TABLE tableName RENAME COLUMN "oldcolname" TO "newcolname" datatype(length);

Beachten Sie die für MySQL verwendeten Backticks, während für Oracle-Syntax doppelte Anführungszeichen verwendet werden. Beachten Sie auch, dass MySQL 8.0 keine Backticks akzeptiert. In diesem Fall führen Sie die Abfrage ohne Backticks aus, und es wird wahrscheinlich funktionieren.


@ lad2025 erwähnt es unten, aber ich dachte, es wäre schön, das hinzuzufügen, was er gesagt hat. Vielen Dank @ lad2025!

Sie können den RENAME COLUMN in MySQL 8.0 verwenden, um die umbenannte Spalte umzubenennen.

ALTER TABLE table_name RENAME COLUMN old_col_name TO new_col_name;

ALTER TABLE-Syntax :

RENAME SPALTE:

  • Kann einen Spaltennamen ändern, aber nicht seine Definition.

  • Praktischer als CHANGE, um eine Spalte umzubenennen, ohne ihre Definition zu ändern. 

222
Rizky Fakkel

In Server-Version: 5.6.34 MySQL Community Server

ALTER TABLE table_name
CHANGE COLUMN old_column_name new_column_name data_type;
37
Kanke

aus MySQL 5.7 Referenzhandbuch Handbuch

Syntax 

ALTER TABLE t1 CHANGE a b DATATYPE;

zB: für customer TABLE mit COLUMN customer_name, customer_street, customercity 

und wir möchten customercity TO customer_city ändern

alter table customer change customercity customer_city VARCHAR(225);
14
Ashu_FalcoN

Ab MySQL 8.0 können Sie verwenden

ALTER TABLE table_name RENAME COLUMN old_col_name TO new_col_name;

ALTER TABLE-Syntax :

RENAME SPALTE:

  • Kann einen Spaltennamen ändern, aber nicht seine Definition.

  • Praktischer als CHANGE, um eine Spalte umzubenennen, ohne ihre Definition zu ändern. 

DBFiddle Demo

9
Lukasz Szozda

Sie können folgenden Code verwenden:

ALTER TABLE `dbName`.`tableName` CHANGE COLUMN `old_columnName` `new_columnName` VARCHAR(45) NULL DEFAULT NULL ;
5
sam

Versuche dies

sp_rename 'tableName.oldColumnName', 'newColumnName', 'COLUMN';
0
RAVI KUMAR

Umbenennen des Spaltennamens in mysql

alter table categories change  type  category_type varchar(255);
0
Dinesh Vaitage