2011-02-25 64 views
1

處理一些嚴重不合格的數據庫設計。將應用程序從MS Access移動到mySQL,目前保存表名非常重要。然而,Access數據庫的創建者在他的表名空間...mysqlimport - 用表名中的空格問題

我試着這樣做進口軟行情,硬引號,反引號,沒有引號,但都給予

"check the manual that corresponds to your MySQL server version for the right 
    syntax to use near 'Citation Table' at line 1, 
    when using table: Chain Citation Table" 

我看到,你可以在某些命令中跳過空格,例如rm Chain\ Citation\ Table.txt,但我從中得到相同的錯誤。

下面是一個例子:

mysqlimport --host=mysql.myhost.com --user=dbuser -p \ 
--local --delete \ 
--fields-optionally-enclosed-by='|' \ 
--fields-terminated-by=';' \ 
--lines-terminated-by='\n' \ 
dbname "Chain Citation Table.txt" 

什麼是處理這個搞砸情況的正確方法是什麼?我是否必須製作一個名爲SomethingWithoutSpaces的保存表並導入到它,然後複製?

感謝您的任何建議。

+1

如果您要遷移數據並保留Access前端,請在MySQL中重新命名錶格,然後在創建鏈接表後,只需將它們命名爲舊的Access名稱即可。 – 2011-02-26 00:49:23

回答

1

最後,我的解決方案是將大量分隔文件分割成多個部分並通過phpMyAdmin導入。如果有人知道一種方法來指定一個帶有空格的表名,用於mysqlimport語法,我將不勝感激他們的幫助!

// 2011年4月19日更新

發現使用SQL更好的辦法,真不錯。

TRUNCATE TABLE `Chain Citation Table`; 
LOAD DATA LOCAL INFILE ' Chain Citation Table.txt' INTO TABLE `Chain Citation Table`; 
1

你可以嘗試使用這個Access to MySQL converter,它在過去對我很好。

+0

感謝您的建議。不幸的是,Bullzip產品似乎無法處理導出Access存儲的特殊字符(如é或à)的ASCII存儲表示。我勾選UTF-8選項,但我只是瘋狂的ASCII垃圾。 – jerrygarciuh 2011-04-19 19:33:27

+0

另一個關於Bullzip產品的評論是,電子郵件請求支持和發佈到他們的論壇完全被忽略。 – jerrygarciuh 2011-09-22 01:49:41

+0

是的,這絕對不是最好的節目。當我使用它的時候,我有一個很短的截止日期,所以它在一個緊湊的工作,但可能不是最好的解決方案。 – Kyle 2011-09-26 16:09:42