繁体   English   中英

MySQL ALTER TABLE按字母顺序对列进行排序

[英]MySQL ALTER TABLE sort columns alphabetically

我正在用MySQL数据库维护一个遗留应用程序,其中大多数表具有20+列,很少有100+。 为了使它更友好,我尝试更改所有表以安排按字母顺序排序的所有列。

什么是适当的ALTER TABLE查询?

无法更改mysql表中的列顺序。 但是,您可以使用订单中的列创建一个新表,例如:

CREATE TABLE newtable SELECT a,b,c,d,e,f,g FROM old_table_name

这样,您新创建的表将按定义的顺序包含列,并且您可以删除旧表并将新表重命名为旧名称。

为了创建上面提到的查询,您只需要从旧表中获取列名并对它们进行排序,就可以通过编程方式使用如下代码:

SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA='database_name' AND TABLE_NAME = 'old_table_name' 
ORDER BY column_name

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM