101

我想在不丢失数据的情况下更改数据库表的列位置。

例如:

当前表:

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

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

6 回答 6

190

尝试这个:

ALTER TABLE table_name MODIFY password varchar(20) AFTER id
于 2012-05-23T11:23:46.083 回答
31

希拉曼的回答是正确的;但如果您使用的是 phpMyAdmin,则有一种直观且实用的方法可以做到这一点。

  1. 打开表
  2. 选择“结构”选项卡
  3. 点击“移动列
  4. 拖放列名称

移动列链接,结构选项卡的中间 移动列弹出窗口

于 2016-01-08T17:32:01.617 回答
8

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

  1. 右键单击表格
  2. 更改表
  3. 拖动列并重新排序
  4. 单击应用并完成
于 2018-06-06T06:12:40.650 回答
4

此外,您可以这样做:

ALTER TABLE table_name CHANGE COLUMN column_name column_name data_type AFTER another_column_name;
于 2018-10-13T20:32:34.153 回答
1

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

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
于 2021-01-11T04:09:36.593 回答
0

如果您像我一样,使用 MySQL 工作台并在尝试实现 @Mohemmed Niyaz 答案时迷路了,您可以按照以下步骤操作,

  • 在左上角,单击架构
  • 找到并选择您的数据库,然后找到并选择您要修改的表
  • 当您将鼠标悬停在表格名称上时,您会看到三个图标,单击设置(即中间的那个),或者您可以右键单击并选择Alter Table
  • 然后单击列并将其拖动到您希望列所在的位置。
  • 在您的右下角,您将看到应用(单击并应用)。
于 2021-11-30T11:48:49.927 回答