Estoy tratando de cambiar el nombre de una columna en el servidor de la 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 la versión de su servidor MySQL
Respuestas:
Use la siguiente consulta:
La
RENAME
función se usa en bases de datos Oracle.Observe los backticks utilizados para MySQL, mientras que las comillas dobles se utilizan 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 backticks y probablemente funcionará.
@ lad2025 lo menciona a continuación, pero pensé que sería bueno agregar lo que dijo. Gracias @ lad2025!
Puede usar el
RENAME COLUMN
en MySQL 8.0 para renombrar cualquier columna que necesite renombrar.fuente
CHANGE
cambia la columna en una tabla y su tipo. Los documentos afirman MYSQL:Attributes present in the original definition but not specified for the new definition are not carried forward.
. Lo que significa que debe especificar las definiciones de la tabla o no se usarán para esa columna. Si solo desea cambiar el tipo de datos de una columna, simplementenewcolname
In MySQL, the quote character is the backtick. If the SQL mode ANSI_QUOTES is set, double quotes can also be used to quote the identifiers. In Oracle, identifiers are quoted using double quotation marks.
Aaaand editado. Necesito café .."
lugar de`
?MYSQL STATUS
muestramysql Ver 14.14 Distrib 5.7.27, for Linux (x86_64) using EditLine wrapper
), obtengoError 1064 (42000): You have an error in your SQL Syntax;...near 'COLUMN thread_id TO threadId'...
la consultaALTER TABLE comment RENAME COLUMN thread_id TO threadId;
. También intenté agregar backticks`
. Terminé usandoCHANGE
.En la versión del servidor: 5.6.34 Servidor de comunidad MySQL
fuente
Del manual de referencia MySQL 5.7 .
Sintaxis:
por ejemplo: para la TABLA de Clientes que tiene COLUMNA customer_name , customer_street , customercity .
Y queremos cambiar customercity TO customer_city :
fuente
Desde MySQL 8.0 puedes usar
DBFiddle Demo
fuente
Puedes usar el siguiente código:
fuente
Cambiar el nombre de la columna en mysql
fuente
https://dev.mysql.com/doc/refman/8.0/en/alter-table.html
Para MySQL 8
fuente
Sintaxis: ALTER TABLE table_name CHANGE old_column_name new_column_name datatype;
Si el nombre de la tabla es Estudiante y el nombre de la columna es Nombre . Entonces, si usted quiere cambiar nombre a First_Name
fuente
para mysql versión 5
alter table *table_name* change column *old_column_name* *new_column_name* datatype();
fuente
En mysql tu consulta debería ser como
Usted ha escrito la consulta en Oracle.
fuente