web-dev-qa-db-fra.com

Renommer une colonne dans MySQL

J'essaie de renommer une colonne dans le serveur de communauté MySQL 5.5.27 en utilisant cette expression SQL:

ALTER TABLE table_name RENAME COLUMN old_col_name TO new_col_name;

J'ai aussi essayé

ALTER TABLE table_name RENAME old_col_name TO new_col_name;

Mais il dit:

Erreur: vérifiez le manuel correspondant à la version de votre serveur MySQL

127
Michael Peter

Utilisez la requête suivante:

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

La fonction RENAME est utilisée dans les bases de données Oracle.

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

Notez les backticks utilisés pour MySQL, alors que les guillemets doubles sont utilisés pour la syntaxe d'Oracle. Notez également que MySQL 8.0 peut ne pas accepter les backticks. Dans ce cas, exécutez la requête sans backticks et cela fonctionnera probablement.


@ lad2025 le mentionne ci-dessous, mais j'ai pensé que ce serait bien d'ajouter ce qu'il a dit. Merci @ lad2025!

Vous pouvez utiliser le RENAME COLUMN dans MySQL 8.0 pour renommer toute colonne dont vous avez besoin.

ALTER TABLE table_name RENAME COLUMN old_col_name TO new_col_name;

ALTER TABLE Syntaxe :

RENOMMER COLONNE:

  • Peut changer un nom de colonne mais pas sa définition.

  • Plus pratique que CHANGE pour renommer une colonne sans changer sa définition. 

222
Rizky Fakkel

Dans la version serveur: 5.6.34 MySQL Community Server

ALTER TABLE table_name
CHANGE COLUMN old_column_name new_column_name data_type;
37
Kanke

depuis Référence MySQL 5.7 Manuel

Syntaxe 

ALTER TABLE t1 CHANGEZ a b DATATYPE;

exemple: pour Client TABLE ayant la COLONNE nom_client, adresse_client, customercity 

et nous voulons changer customercity TO customer_city

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

Depuis MySQL 8.0, vous pouvez utiliser

ALTER TABLE table_name RENAME COLUMN old_col_name TO new_col_name;

ALTER TABLE Syntaxe :

RENOMMER COLONNE:

  • Peut changer un nom de colonne mais pas sa définition.

  • Plus pratique que CHANGE pour renommer une colonne sans changer sa définition. 

DBFiddle Demo

9
Lukasz Szozda

Vous pouvez utiliser le code suivant:

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

Essaye ça

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

Renommer le nom de la colonne dans mysql

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