[英]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.