1

在这里处理一些严重无能的数据库设计。将应用程序从 MS Access 迁移到 mySQL,目前保留表名很重要。但是 Access db 创建者的表名中有空格...

我尝试使用软引号、硬引号、反引号和无引号进行此导入,但都给出

    "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 的暂存表并将其导入然后复制?

感谢您的任何建议。

4

2 回答 2

1

您可以尝试使用这个 Access to MySQL 转换器,它在过去对我来说效果很好。

于 2011-02-25T19:24:12.657 回答
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`;
于 2011-02-28T15:58:41.503 回答