0

をフロントエンドとして使用して、データベースを からAccessに移行しています。残念ながら、列名にスペースが含まれていて、データベースを作成した人が列名に大量のスペースを使用している場合、レコードを変更できません。MySQLXatafaceXatafaceAccess

残念ながら、データベースはかなり大きいため、手動で変更するのはかなり問題があるようです。MySQL のマニュアルを調べたところ、個々の行から空白を削除する方法しか見つかりませんでした。

おそらく、INFORMATION_SCHEMAテーブルを変更することがこれを行う方法でしょうか?

4

1 に答える 1

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]
于 2012-06-20T20:06:55.253 に答える