我正在使用MySQL数据库维护一个遗留应用程序,大多数表有20多列,很少有100多个。为了使它更友好,我试图改变所有表格,以排列按字母顺序排列的所有列。
适当的ALTER TABLE
查询是什么?
答案 0 :(得分:1)
无法更改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