从表中删除MySQL列名中的所有空格?

时间:2012-06-20 19:43:12

标签: mysql sql

我正在使用Access作为前端,将数据库从MySQL迁移到Xataface。唉,如果列名包含空格,则Xataface无法修改记录,而Access数据库的人员在列名中有大量空格。

数据库唉,相当大,因此手动修改它似乎相当成问题。我查看了MySQL手册,并且只找到了如何从各行中删除空格的内容。

也许修改INFORMATION_SCHEMA表会是这样做的吗?

1 个答案:

答案 0 :(得分:2)

您可以创建一个语句,其中每个输出都是ALTER TABLE语句,然后运行这些语句。

SQL声明

SELECT 'ALTER TABLE ' 
       + Table_Name
       + ' CHANGE COLUMN `' 
       + Column_Name 
       + '` `' 
       + REPLACE(Column_Name, ' ', '')
       + '`'
FROM   INFORMATION_SCHEMA_COLUMNS
WHERE  Column_Name LIKE '% %'

<强>输出

ALTER TABLE tableX CHANGE COLUMN [column with spaces] [columnwithspaces]