我试图重命名一个列在MySQL社区服务器5.5.27使用这个SQL表达式:

ALTER TABLE table_name RENAME COLUMN old_col_name TO new_col_name;

我也试过

ALTER TABLE table_name RENAME old_col_name TO new_col_name;

但它说:

错误:请查看MySQL服务器版本对应的手册


当前回答

服务器版本:5.6.34 MySQL Community Server

ALTER TABLE table_name
CHANGE COLUMN old_column_name new_column_name data_type;

其他回答

重命名mysql中的列名

alter table categories change  type  category_type varchar(255);

你可以使用以下代码:

ALTER TABLE `dbName`.`tableName` CHANGE COLUMN `old_columnName` `new_columnName` VARCHAR(45) NULL DEFAULT NULL ;

ALTER TABLE table_name CHANGE old_column_name new_column_name datatype;

如果表名是Student,列名是name。 然后,如果您想将Name更改为First_Name

ALTER TABLE Student CHANGE Name First_Name varchar(20);

从MySQL 8.0你可以使用

ALTER TABLE table_name RENAME COLUMN old_col_name TO new_col_name;

ALTER TABLE语法: 重命名列: 可以更改列名,但不能更改其定义。 在不更改列定义的情况下重命名列比CHANGE更方便。

DBFiddle演示

当我有一个带括号的列时,上面没有一个工作。

然后我试了试,魔法起作用了。因此,如果您的列中错误地有一个特殊字符,并且您想要重命名它,请使用'作为现有列的名称。例如:

将旧列重命名为新列