2012-06-20 97 views
0

我正在將數據庫從Access遷移到MySQL,使用Xataface作爲前端。唉,Xataface無法修改記錄,如果列名稱包含空格,並且使數據庫中的人員在列名稱中有大量空格。從表中刪除MySQL列名中的所有空格?

該數據庫是,唉,相當大,因此手動修改它似乎相當成問題。我瀏覽了MySQL手冊,只發現瞭如何從單個行中刪除空格。

也許修改INFORMATION_SCHEMA表將是這樣做的方式?

回答

1

您可以創建一個語句,其中每個輸出是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] 
+0

謝謝。是否有可能我不會手動指定列名,即它是否遍歷指定表中的所有列? – gagpolenv

+0

@ user1470300 - 您不必指定列名稱?!你是否嘗試了這個陳述並查看了輸出結果? –