我需要移动现有列的位置(以获得更好的可见性)。
如何做到这一点而又不影响数据?
我需要移动现有列的位置(以获得更好的可见性)。
如何做到这一点而又不影响数据?
Answers:
修改也可以。看一看:
ALTER TABLE foo MODIFY bar bartype AFTER baz;
我知道的唯一方法是更改列。您将首先使用提取列定义,SHOW CREATE TABLE然后发出ALTER TABLE:
ALTER TABLE foo
CHANGE COLUMN bar
bar COLUMN_DEFINITION_HERE
FIRST;
或者,如果您希望在其他某些专栏之后发表它:
... AFTER OTHER_COLUMN;
BEFORE反而使用了FIRST
ALTER TABLE ... MODIFY,则它是首选,因为它不会再次以语法格式要求您输入列名,您可以无意中对列进行重命名,而MODIFY不必。
这是SQL查询
ALTER TABLE table_name MODIFY COLUMN misplaced_column列定义AFTER other_column;
在Column-definition中,是完整的列定义。要查看列定义(如果使用的是phpmyadmin),请单击“结构”选项卡。然后单击所需列上的更改链接。然后使用任何修改,单击保存。它将向您显示sql。复制sql并在末尾添加* AFTER other_column *。这将是全部。
如果您想将* misplaced_column *带到第一个位置,则 ALTER TABLE table_name MODIFY COLUMN misplaced_column列定义FIRST;
但是,这似乎是一个重复的问题。
基于@VKGS的答案:
如果您的表的语言为:
| description | name |
|---------------------|------------------|
| fbi agent | jane |
|---------------------|------------------|
| mi6 agent | kurt |
|---------------------|------------------|
您想将列名设为第一列或在描述之前执行以下命令:
ALTER TABLE language MODIFY description varchar(100) AFTER name;
不要忘记列的类型。