Error renaming a column in MySQL

MysqlDatabaseAlter TableMysql Error-1025

Mysql Problem Overview


How do I rename a column in table xyz? The columns are:

Manufacurerid, name, status, AI, PK, int

I want to rename to manufacturerid

I tried using PHPMyAdmin panel, but I get this error:

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

Mysql Solutions


Solution 1 - Mysql

Lone Ranger is very close... in fact, you also need to specify the datatype of the renamed column. For example:

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

Remember :

  • Replace INT with whatever your column data type is (REQUIRED)
  • Tilde/ Backtick (`) is optional

Solution 2 - Mysql

The standard MySQL rename statement is:

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

For this example:

ALTER TABLE xyz CHANGE manufacurerid manufacturerid datatype(length)

Reference: MYSQL 5.1 ALTER TABLE Syntax

Solution 3 - Mysql

FOR MYSQL:

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

FOR ORACLE:

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

Solution 4 - Mysql

EDIT

You can rename fields using:

ALTER TABLE xyz CHANGE manufacurerid manufacturerid INT

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

Solution 5 - Mysql

There is a syntax problem, because the right syntax to alter command is ALTER TABLE tablename CHANGE OldColumnName NewColunmName DATATYPE;

Solution 6 - Mysql

With MySQL 5.x you can use:

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

Solution 7 - Mysql

Renaming a column in MySQL :

ALTER TABLE mytable CHANGE current_column_name new_column_name DATATYPE;

Solution 8 - Mysql

> ALTER TABLE CHANGE ;

Example:

ALTER TABLE global_user CHANGE deviceToken deviceId VARCHAR(255) ;

Solution 9 - Mysql

SYNTAX

alter table table_name rename column old column name to new column name;

Example:

alter table library rename column cost to price;

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionBharanikumarView Question on Stackoverflow
Solution 1 - MysqlMatt DiamondView Answer on Stackoverflow
Solution 2 - MysqldongpfView Answer on Stackoverflow
Solution 3 - Mysqlmahbub_siddiqueView Answer on Stackoverflow
Solution 4 - MysqlLone RangerView Answer on Stackoverflow
Solution 5 - MysqlDarshanView Answer on Stackoverflow
Solution 6 - MysqlMIKE KIMView Answer on Stackoverflow
Solution 7 - MysqlHasib Kamal ChowdhuryView Answer on Stackoverflow
Solution 8 - Mysqlvaquar khanView Answer on Stackoverflow
Solution 9 - MysqlAbinayaView Answer on Stackoverflow