mysql怎样才能只更改字段名,不更改字段属性

时间:2021-07-08 10:40:15
已知:
ALTER TABLE 表 MODIFY 列 属性    
ALTER TABLE 表 CHANGE 原列名 新列名 新属性

但是我需要更改字段名,而不用动字段属性,按理说是用 ALTER TABLE 表 CHANGE 原列名 新列名 新属性 但是这个内部实现是开启了一个新空间,把旧数据转到新空间里面

有没有办法直接更改字段名字,因为我数据量太大了,而且是生产环境

有没有大神帮我出个主意

3 个解决方案

#1


目前的MYSQL没有这个功能,只要是ALTER TABLE COLUMN 则都 会生成新列,删除旧列。

#2


建一个这个表的视图

#3


无解
不过innodb 引擎测试过,如果你不改列定义,只是名称变一下,是很快的,除非被 block 了,否则是瞬间完成的,所以内容应该判断,如果定义不改,不会做数据转移的操作

#1


目前的MYSQL没有这个功能,只要是ALTER TABLE COLUMN 则都 会生成新列,删除旧列。

#2


建一个这个表的视图

#3


无解
不过innodb 引擎测试过,如果你不改列定义,只是名称变一下,是很快的,除非被 block 了,否则是瞬间完成的,所以内容应该判断,如果定义不改,不会做数据转移的操作