0

我在 XML 文件中有大量数据需要加载到 MySQL 数据库中。

即在 2012 年文件夹中,我有大约 52 个 xml 文件和一个用于所有 XML 的 loadStatements.sql 查询文件。loadStatements.sql 有以下几行……这里只有几行。

use uspto2012;
LOAD XML LOCAL INFILE 'H:/uspto_db/mysql/2012/ipa120126/ipa120126-01_sql.xml' INTO TABLE       assignee ROWS IDENTIFIED BY '<assignee>';
LOAD XML LOCAL INFILE 'H:/uspto_db/mysql/2012/ipa120126/ipa120126-01_sql.xml' INTO TABLE     claims ROWS IDENTIFIED BY '<claims>';
LOAD XML LOCAL INFILE 'H:/uspto_db/mysql/2012/ipa120126/ipa120126-01_sql.xml' INTO TABLE description ROWS IDENTIFIED BY '<description>';
LOAD XML LOCAL INFILE 'H:/uspto_db/mysql/2012/ipa120126/ipa120126-01_sql.xml' INTO TABLE info ROWS IDENTIFIED BY '<info>';

现在,如果我从 MySQL 工作台或 shell 调用这个文件,它运行正常。现在我有数百个这样的文件,手动加载每个文件很麻烦。

我需要一个可以调用这些加载文件的主文件。IE

use uspto2012;
SOURCE H:/uspto_db/mysql/2012/ipa120126/loadStatements.sql;
SOURCE H:/uspto_db/mysql/2012/ipa120202/loadStatements.sql;
SOURCE H:/uspto_db/mysql/2012/ipa120209/loadStatements.sql;
SOURCE H:/uspto_db/mysql/2012/ipa120216/loadStatements.sql;

但是当我尝试运行这个文件时,我得到了来自 mwb 的错误。“源未被识别为 MySQL 命令”

我恳请帮助以更好的方式实现这一目标。

4

1 回答 1

0

SOURCE是 mysql CLI 命令。

如果您已经创建了主文件,您可以这样做

C:\> mysql -uuser -p < H:/path/to/your/matser_file.sql

或者

C:\> mysql -uuser -p -e "source H:/path/to/your/matser_file.sql"
于 2013-08-26T02:15:01.667 回答