我试图重命名一个列在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服务器版本对应的手册


当前回答

重命名mysql中的列名

alter table categories change  type  category_type varchar(255);

其他回答

ALTER TABLE `table_name` CHANGE `$old_column_name` `new_column_name` VARCHAR(40)

这对我很有用

mysql 5

Alter table *table_name* change column *old_column_name* *new_column_name* datatype();

在这里发布它,它有助于帮助其他人忽略它,但当尝试使用更改列和重命名列函数时,它会抛出一个错误。 所以我想看看生成了什么语句,当我们继续,重命名列进入表属性。下面是生成的命令。

EXEC DB.sys.sp_rename N'db.tablename.TrackingIDChargeDescription1' , N'ChargeDescription1', 'COLUMN';

我在表中使用和重命名了一堆列。

对于MySQL <= 8

ALTER TABLE table_names CHANGE `old_column_name` `new_column_name` varchar(50);

从MySQL 8.0你可以使用

ALTER TABLE table_name RENAME COLUMN old_col_name TO new_col_name;

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

DBFiddle演示