我正在研究数据库。在大多数表中,列顺序不是我所期望的,我想改变它(我有权限)。例如,primary_key的id
列很少是第一列!
是否有一种使用phpMyAdmin移动列的简单方法?
答案 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,遗憾的是它不是拖放。
也可能有其他程序和实用程序来执行此操作。我从搜索中找到了这个帖子,所以我想我会分享我为别人找到的东西。
答案 7 :(得分:0)
新版本的简易方法: