Error al cambiar el nombre de una columna en MySQL

¿Cómo cambio el nombre de una columna en la tabla xyz ? Las columnas son:

 Manufacurerid, name, status, AI, PK, int 

Quiero cambiar el nombre a manufacturerid

Intenté usar el panel PHPMyAdmin, pero obtengo este error:

 MySQL said: Documentation #1025 - Error on rename of '.\shopping\#sql-c98_26' to '.\shopping\tblmanufacturer' (errno: 150) 

Lone Ranger está muy cerca … de hecho, también necesita especificar el tipo de datos de la columna renombrada. Por ejemplo:

 ALTER TABLE `xyz` CHANGE `manufacurerid` `manufacturerid` INT; 

Recuerda :

  • Reemplace INT con el tipo de datos de columna que sea (REQUERIDO)
  • Tilde / Backtick (`) es opcional

La statement de cambio de nombre estándar de Mysql es:

 ALTER [ONLINE | OFFLINE] [IGNORE] TABLE tbl_name CHANGE [COLUMN] old_col_name new_col_name column_definition [FIRST|AFTER col_name] 

para este ejemplo:

 ALTER TABLE xyz CHANGE manufacurerid manufacturerid datatype(length) 

Referencia: Sintaxis de MYSQL 5.1 ALTER TABLE

PARA MYSQL:

 ALTER TABLE `table_name` CHANGE `old_name` `new_name` VARCHAR(255) NOT NULL; 

PARA ORACLE:

 ALTER TABLE `table_name` RENAME COLUMN `old_name` TO `new_name`; 

EDITAR

Puede cambiar el nombre de los campos usando:

 ALTER TABLE xyz CHANGE manufacurerid manufacturerid INT 

http://dev.mysql.com/doc/refman/5.1/en/alter-table.html

Hay un problema de syntax, porque la syntax correcta para alterar el comando es ALTER TABLE tablename CHANGE OldColumnName NewColunmName DATATYPE;

Con MySQL 5.x puedes usar:

 ALTER TABLE table_name CHANGE COLUMN old_column_name new_column_name DATATYPE NULL DEFAULT NULL; 
 ALTER TABLE mytable CHANGE current_column_name new_column_name DATATYPE; 

SINTAXIS

alterar tabla nombre_tabla renombrar columna nombre de columna anterior a nombre de columna nuevo ;

Ejemplo:

alter table library renombra el costo de la columna al precio ;