轻松重新排序列的方法?

时间:2010-11-04 09:56:43

标签: mysql phpmyadmin

我正在研究数据库。在大多数表中,列顺序不是我所期望的,我想改变它(我有权限)。例如,primary_key的id列很少是第一列!

是否有一种使用phpMyAdmin移动列的简单方法?

8 个答案:

答案 0 :(得分:54)

使用ALTER TABLE ... MODIFY COLUMN声明。

ALTER TABLE table_name MODIFY COLUMN misplaced_column INT(11) AFTER other_column;

答案 1 :(得分:6)

这是sql查询
ALTER TABLE table_name MODIFY COLUMN misplaced_column列定义AFTER other_column; 这里的列定义是完整的列定义。要在使用phpmyadmin时查看列定义,请单击结构选项卡。然后单击所需列上的更改链接。然后使用modifyig任何东西点击保存。它会告诉你sql。复制sql并在最后添加* AFTER other_column *。这将是全部。

如果您想将* misplaced_column *带到第一个位置,那么 ALTER TABLE table_name MODIFY COLUMN misplaced_column列定义FIRST;

答案 2 :(得分:5)

由于您提到phpMyAdmin,现在有一种方法可以对最新版本(4.0及更高版本)中的列重新排序。

转到表格的“结构”视图,单击相应字段上的编辑(或更改)按钮,然后在“移动列”下选择您希望该字段前往的位置。

答案 3 :(得分:4)

ALTER TABLE `table`
CHANGE COLUMN `field` `field` 
INT(11) AFTER `field2`;

答案 4 :(得分:2)

在phpMyAdmin版本3.5.5中,转到“浏览”选项卡,然后将列拖到首选位置以重新排序(例如,如果您有名为A,B,C的列,则只需拖动列C即可在A和B之间将其重新排序为A,C,B)。

答案 5 :(得分:1)

另一种方法是:

#CREATE TABLE original (
#    id INT
#    name TEXT
#    etc...
#);

CREATE TABLE temp (
    name TEXT
    id INT
    etc...
);

INSERT INTO temp SELECT name, id FROM original;

DROP TABLE original;

RENAME TABLE temp TO original;

答案 6 :(得分:0)

SQL Maestro for MySQL提供了重新排序字段的工具以及GUI,遗憾的是它不是拖放。

  1. 打开表格视图
  2. 打开“属性”标签
  3. 点击侧边栏中的重新排序字段
  4. 单击要移动的字段,然后单击向上或向下绿色箭头
  5. 单击“确定”以提交数据库更新
  6. 也可能有其他程序和实用程序来执行此操作。我从搜索中找到了这个帖子,所以我想我会分享我为别人找到的东西。

答案 7 :(得分:0)

新版本的简易方法:

  1. 打开要重新排序的表格。
  2. 转到结构标签。
  3. 选择移动列链接。
  4. 根据需要对列重新排序。