如何重新排列MySQL列?
我需要移动现有列的位置(以获得更好的可见性)如何重新排列MySQL列?,mysql,Mysql,我需要移动现有列的位置(以获得更好的可见性) 如何在不影响数据的情况下完成此操作?我知道的唯一方法是更改列。首先使用以下命令提取列定义并发出: 或者,如果您希望它位于某个其他列之后: ... AFTER OTHER_COLUMN; 同样有效。看看: ALTER TABLE foo MODIFY bar bartype AFTER baz; 下面是sql查询 更改表名修改列错位列定义在其他列之后 这里的列定义是完整的列定义。若要查看列定义(如果您使用的是phpmyadmin),请单击“结构”选
如何在不影响数据的情况下完成此操作?我知道的唯一方法是更改列。首先使用以下命令提取列定义并发出: 或者,如果您希望它位于某个其他列之后:
... AFTER OTHER_COLUMN;
同样有效。看看:
ALTER TABLE foo MODIFY bar bartype AFTER baz;
下面是sql查询更改表名修改列错位列定义在其他列之后强> 这里的列定义是完整的列定义。若要查看列定义(如果您使用的是phpmyadmin),请单击“结构”选项卡。然后单击所需列上的更改链接。然后,在修改任何内容后,单击“保存”。它将向您显示sql。复制sql,只需在末尾的其他_列*后面添加*即可。就这些了 如果要将*MISPLOCED_列*置于第一个位置,则 更改表名首先修改列错位列定义强> 然而,这似乎是一个重复的问题
| description | name |
|---------------------|------------------|
| fbi agent | jane |
|---------------------|------------------|
| mi6 agent | kurt |
|---------------------|------------------|
如果要使列名成为第一列,或在“说明”之前,执行以下操作:
ALTER TABLE language MODIFY description varchar(100) AFTER name;
不要忘记列的类型。不重复:第一个是关于交换数据,第二个是关于“sqlyog”。保存方法是使用PHPMyAdmin的“移动列”功能:我在
之前有问题,而我使用了第一个MySQL语法中没有BEFORE,如果您只想对列重新排序altertable。。。MODIFY
更可取,因为它不会再次要求您以语法格式输入列名,您可以意外重命名列,而MODIFY
则不会。有人能解释一下更改列和修改列之间的区别吗?修改是一种较轻的操作吗?它没有锁桌子吗?谢谢更新:看起来很像更改和修改是同义词,其中修改是为Oracle用户添加的。这是可行的,但请注意(至少在我的设置中)移动列会删除该列中的任何自动增量设置。如果不在alter语句中指定默认值,也会丢失默认值。
ALTER TABLE language MODIFY description varchar(100) AFTER name;