【发布时间】:2012-12-07 21:33:45
【问题描述】:
我有一个包含 2100 万行的表。我必须更改其中一个行名。当我尝试查询“alter table company change id new_id int(11)”时;查询永远不会结束。
有没有一种简单的方法来改变大 mysql 表的字段名?
【问题讨论】:
-
你试过用 PHPMyAdmin 做吗?那可能会使用更有效的方法
-
我已经尝试过使用 PHPMyAdmin 和命令行。
-
你可以做一个 mySqldump 并编辑转储文件。然后重新导入数据。
-
列是否定义为 int(11) 且没有其他属性?如果您只是更改名称 MySQL 应该只更新元数据而不触及行。你用的是什么存储引擎?
-
文档说重命名列,除了 InnoDB 存储引擎只修改表元数据而不是表数据,可以通过更改表的 .frm 文件而不接触表内容来立即生成。但对我来说不是这样。