0
我正在將數據庫從Access
遷移到MySQL
,使用Xataface
作爲前端。唉,Xataface
無法修改記錄,如果列名稱包含空格,並且使數據庫中的人員在列名稱中有大量空格。從表中刪除MySQL列名中的所有空格?
該數據庫是,唉,相當大,因此手動修改它似乎相當成問題。我瀏覽了MySQL手冊,只發現瞭如何從單個行中刪除空格。
也許修改INFORMATION_SCHEMA
表將是這樣做的方式?
我正在將數據庫從Access
遷移到MySQL
,使用Xataface
作爲前端。唉,Xataface
無法修改記錄,如果列名稱包含空格,並且使數據庫中的人員在列名稱中有大量空格。從表中刪除MySQL列名中的所有空格?
該數據庫是,唉,相當大,因此手動修改它似乎相當成問題。我瀏覽了MySQL手冊,只發現瞭如何從單個行中刪除空格。
也許修改INFORMATION_SCHEMA
表將是這樣做的方式?
您可以創建一個語句,其中每個輸出是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]
謝謝。是否有可能我不會手動指定列名,即它是否遍歷指定表中的所有列? – gagpolenv
@ user1470300 - 您不必指定列名稱?!你是否嘗試了這個陳述並查看了輸出結果? –