我想在我的桌子上运行它:
ALTER TABLE table_name MODIFY col_name VARCHAR(255)
Run Code Online (Sandbox Code Playgroud)
但我的桌子很大,它的行数超过6500万(6500万).现在,当我执行时,执行此命令需要将近50分钟.改变表的更好方法是什么?
嗯,你需要
ALTER TABLE table_name CHANGE col_name new_name VARCHAR(255)
Run Code Online (Sandbox Code Playgroud)
但是,你是对的,做出改变需要一段时间。确实没有任何更快的方法来更改 MySQL 中的表。
您担心变更期间会出现停机吗?如果是这样,这是一种可能的方法:将表复制到新表,然后更改副本上的列名称,然后重命名该副本。
您可能已经发现,定期更改生产系统中表中的列名称并不是一个好主意。