【发布时间】:2011-05-04 23:22:41
【问题描述】:
我正在处理数据库。在大多数表格上,列顺序不是我所期望的,我想更改它(我有权限)。例如,primary_key 的id 列很少是第一列!
有没有用 phpMyAdmin 移动列的简单方法?
【问题讨论】:
标签: mysql phpmyadmin
我正在处理数据库。在大多数表格上,列顺序不是我所期望的,我想更改它(我有权限)。例如,primary_key 的id 列很少是第一列!
有没有用 phpMyAdmin 移动列的简单方法?
【问题讨论】:
标签: mysql phpmyadmin
使用ALTER TABLE ... MODIFY COLUMN 语句。
ALTER TABLE table_name MODIFY COLUMN misplaced_column INT(11) AFTER other_column;
【讨论】:
ALTER TABLE participant COLUMN last_update DATETIME AFTER home_state 上收到错误1064 ...但MODIFY 工作stackoverflow.com/a/10256880/3018212
另一种方法是:
#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;
【讨论】:
ALTER TABLE `table`
CHANGE COLUMN `field` `field`
INT(11) AFTER `field2`;
【讨论】:
这里是 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 列定义优先;
【讨论】:
datetime 列。谢谢@zahid9i
由于您提到了 phpMyAdmin,现在有一种方法可以在最新版本(4.0 及更高版本)中重新排序列。
转到表的“结构”视图,单击相应字段上的编辑(或更改)按钮,然后在“移动列”下选择您希望字段移动到的位置。
【讨论】:
SQL Maestro for MySQL 提供了重新排序字段的工具以及 GUI,不幸的是它不是拖放操作。
可能还有其他程序和实用程序可以执行此操作。我从搜索中找到了这个帖子,所以我想我会分享我为其他人找到的内容。
【讨论】:
在 phpMyAdmin 版本 3.5.5 中,转到“浏览”选项卡,然后将列拖到您喜欢的位置以重新排序(例如,如果您有名为 A、B、C 的列,您只需拖动列 C在 A 和 B 之间重新排序为 A,C,B)。
【讨论】:
较新版本的简单方法:
【讨论】: