在MySQL中重命名列错误

如何重命名表xyz中的列?列如下:

Manufacurerid, name, status, AI, PK, int

我想重命名为manufacturerid

我尝试使用PHPMyAdmin面板,但我得到这个错误:

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

编辑

你可以使用以下方法重命名字段:

ALTER TABLE xyz CHANGE manufacurerid manufacturerid INT

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

独行侠很接近了……实际上,还需要指定重命名列的数据类型。例如:

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

记住:

  • 用列数据类型替换INT (REQUIRED)
  • 波浪号/反勾号(')是可选的

标准的MySQL重命名语句是:

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

对于这个例子:

ALTER TABLE xyz CHANGE manufacurerid manufacturerid datatype(length)

参考: MYSQL 5.1 ALTER TABLE语法

有一个语法问题,因为alter命令的正确语法是ALTER TABLE tablename CHANGE OldColumnName NewColunmName DATATYPE;

MySQL 5。X你可以使用:

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

MYSQL:

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

ORACLE:

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

语法

修改表table_name将列旧列名重命名为新列名

例子:

修改表图书馆将列成本重命名为价格

在MySQL中重命名列:

ALTER TABLE mytable CHANGE current_column_name new_column_name DATATYPE;

修改表;

例子:

ALTER TABLE global_user CHANGE deviceToken deviceId VARCHAR(255) ;