You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL修改列名失败求助:执行重命名命令后列名未变更(需保留列值)

解决MySQL列重命名不生效的问题

我一眼就看出问题所在啦——你的原列名idbook-loan包含连字符(-),这在MySQL里属于特殊字符,直接写会被当成减法运算符解析,导致你的ALTER命令语法错误,自然就没生效啦。

正确的重命名命令

你需要把带特殊字符的列名用**反引号(`)**括起来,修正后的命令应该是这样:

ALTER TABLE book_loan RENAME COLUMN `idbook-loan` TO idbook_loan;

兼容旧版本MySQL的方案(MySQL 8.0之前)

如果你的MySQL版本低于8.0,RENAME COLUMN语法还不支持,得用CHANGE COLUMN来实现,写法如下:

ALTER TABLE book_loan CHANGE COLUMN `idbook-loan` idbook_loan INT;

注意:这里最后要写上列的原数据类型(比如例子里的INT),如果不知道可以先查一下表结构。

验证是否修改成功

执行完命令后,你可以用这条语句查看表结构,确认列名是否已经更新:

DESCRIBE book_loan;

内容的提问来源于stack exchange,提问作者Jose Erasmo Hernandez Yate

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 13:22:42