如何重新排列Mysql列?

我需要移动现有列的位置(为了更好的可视性)。

这怎么做,而不影响数据?

我知道的唯一方法是改变列。 您将首先使用SHOW CREATE TABLE来提取您的列定义,然后发出一个ALTER TABLE

 ALTER TABLE foo CHANGE COLUMN bar bar COLUMN_DEFINITION_HERE FIRST; 

或者如果你想某个其他专栏之后:

 ... AFTER OTHER_COLUMN; 

修改也可以。 看一看:

 ALTER TABLE foo MODIFY bar bartype AFTER baz; 
  1. 修改表名table_name首先修改column_name column_datatype;
  2. 修改表table_name修改列名column_datatype other_column_name后;

这是SQL查询
ALTER TABLE table_name MODIFY COLUMN misplaced_column Column-definition AFTER other_column; 这里的Column-definition是全列定义。 要查看列定义,如果您使用的是phpmyadmin,请单击结构选项卡。 然后点击所需列上的更改链接。 然后用我们的修改任何东西点击保存。 它会显示你的SQL。 复制SQL,并在最后添加* AFTER other_column *。 这将是一切。

如果你想把* misplaced_column *放到第一个位置,那么ALTER TABLE table_name MODIFY COLUMN misplaced_column Column-definition FIRST;

但是,这似乎是一个重复的问题。