Pregunta Cambiar el nombre de una columna en MySQL


Estoy intentando cambiar el nombre de una columna en el servidor de comunidad MySQL 5.5.27 usando esta expresión SQL:

ALTER TABLE table_name RENAME COLUMN old_col_name TO new_col_name;

También intenté

ALTER TABLE table_name RENAME old_col_name TO new_col_name;

Pero dice:

Error: consulte el Manual que corresponde a su versión del servidor MySQL


73
2018-05-17 18:59


origen


Respuestas:


Use la siguiente consulta:

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

los RENAME función se utiliza en bases de datos Oracle.

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

Observe los backticks usados ​​para MySQL, mientras que las comillas dobles se usan para la sintaxis de Oracle. También tenga en cuenta que MySQL 8.0 podría no aceptar backticks. En ese caso, ejecute la consulta sin retrocesos y probablemente funcione.


@ lad2025 lo menciona a continuación, pero pensé que sería bueno agregar lo que dijo. ¡Gracias @ lad2025!

Puedes usar el RENAME COLUMN en MySQL 8.0 para renombrar cualquier columna que necesite cambiar de nombre.

ALTER TABLE table_name RENAME COLUMN old_col_name TO new_col_name;

Sintaxis de ALTER TABLE:

RENOMBRAR COLUMNA:

  • Puede cambiar el nombre de una columna pero no su definición.

  • Más conveniente que CAMBIAR para cambiar el nombre de una columna sin cambiar su definición.


119
2018-05-17 19:02



En la versión del servidor: 5.6.34 MySQL Community Server

ALTER TABLE table_name
CHANGE COLUMN old_column_name new_column_name data_type;

23
2017-11-29 12:38



de Referencia de MySQL 5.7 Manual

Sintaxis

ALTER TABLE t1 CAMBIA a b DATATYPE;

por ejemplo: para Cliente TABLA con COLUMNA Nombre del cliente,customer_street,customercity 

y queremos cambiar customercity A customer_city

alter table customer change customercity customer_city VARCHAR(225);

9
2017-08-12 18:20



Desde MySQL 8.0 podrías usar

ALTER TABLE table_name RENAME COLUMN old_col_name TO new_col_name;

Sintaxis de ALTER TABLE:

RENOMBRAR COLUMNA:

  • Puede cambiar el nombre de una columna pero no su definición.

  • Más conveniente que CAMBIAR para cambiar el nombre de una columna sin cambiar su definición.

DBFiddle Demo


5
2018-04-19 15:49



Puede usar el siguiente código, simplemente cambie (apóstrofo) a (acento grave).

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

3
2018-05-01 22:29



Prueba esto

sp_rename 'tableName.oldColumnName', 'newColumnName', 'COLUMN';

0
2018-06-27 12:53