在MySQL中使用RENAME COLUMN重命名表列时出现报错如何解决
报错原因
- 语法使用错误:MySQL的
RENAME COLUMN语法仅支持指定新旧列名,不需要额外追加列的类型定义,你语句末尾多写的VARCHAR(50)不符合语法要求 - 版本兼容性问题:
RENAME COLUMN是MySQL 8.0版本才新增的语法,如果你使用的是MySQL 5.7及更早的版本,该语法本身就不被支持,执行会直接报错
正确写法
如果你使用MySQL 8.0及以上版本
仅指定新旧列名即可:
ALTER TABLE departments RENAME COLUMN department_name TO dept_name;
如果你使用MySQL 5.7及更早版本
使用兼容所有版本的CHANGE语法实现列重命名,注意CHANGE需要重复写一次原列的属性定义:
ALTER TABLE departments CHANGE COLUMN department_name dept_name VARCHAR(50);
内容的提问来源于stack exchange,提问作者shayde
相关产品推荐
相关产品推荐

