我有大量 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 调用这个文件,它运行正常。现在我有数百个这样的文件,手动加载每个文件很麻烦。
我需要一个可以调用这些加载文件的主文件。即
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 命令”
我恳请帮助找到更好的方法来实现这一目标。
最佳答案
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"
关于mysql - 如何运行包含 load data infile 语句的 sql 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18435535/