如何在不丢失列数据的情况下更改MySql表的列位置?

时间:2012-05-23 11:22:38

标签: mysql sql

我想更改数据库表的列位置而不会丢失数据。

例如:

当前表:

+----+------+-------+----------+
| id | name | email | password |
+----+------+-------+----------+

+----+----------+------+-------+
| id | password | name | email |
+----+----------+------+-------+

5 个答案:

答案 0 :(得分:113)

试试这样:

ALTER TABLE table_name MODIFY password varchar(20) AFTER id

答案 1 :(得分:21)

Hearaman的回答是正确的;但是如果你使用的是phpMyAdmin,那么有一种直观而实用的方法。

  1. 打开表格
  2. 选择" 结构"标签
  3. 点击" 移动列"
  4. 拖放列名称
  5. Move columns link, middle of the Structure tab Move columns popup

答案 2 :(得分:2)

如果您使用的是MySQL工作台,

  1. 右键点击表格
  2. 更改表格
  3. 拖动列并重新排序
  4. 点击应用并完成

答案 3 :(得分:1)

此外,您可以这样做:

ALTER TABLE table_name CHANGE COLUMN column_name column_name data_type AFTER another_column_name;

答案 4 :(得分:0)

您可以使用修改/更改关键字。

ALTER TABLE [table] CHANGE COLUMN [column] [column] [column definition] AFTER [column]

ALTER TABLE [table] MODIFY COLUMN [column] [column definition] AFTER [column]

例如:

ALTER TABLE table_name MODIFY password varchar(20) AFTER id

ALTER TABLE table_name MODIFY password varchar(20) varchar(20) AFTER id