Error renaming a column in MySQL
MysqlDatabaseAlter TableMysql Error-1025Mysql 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
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
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;