2012-02-10 53 views
0

我创建了一个.bat文件(import_file.bat):如何从MySQL中的.bat文件导入数据?

set database_name=nome_db 
mysql –u root --password=pass --database %database_name% < c:/import_geco/sql_svuta.sql 
mysql –u root --password=pass --database %database_name% < c:/import_geco/carica_dati.sql 

在命令行中,我进入了MySQL的bin目录:

mysql/bin>c:/import_db/import_file.bat 

...但它不工作,而是返回MySQL帮助信息。

如果我创建一个.bat文件导出表(export.bat):

mysqldump --no-create-info -u root nome_db nome_tabella > c:/backup_db/export.sql 

...并在命令行中输入:

mysql/bin>c:/import_db/export.bat 

它的工作原理。

回答

0

因为你有一个畸形的命令,你得到的帮助文件。您正试图将某些东西传递给命令行。你可能需要使用-e(--execute)命令,您可以管的文件,或者使用LOAD DATA FILE

见:http://dev.mysql.com/doc/refman/5.5/en/mysql-command-options.html

+0

谢谢,我在bat文件添加-e: 一套数据库名称= nome_db MySQL的-e -u根--password =传递--database%DATABASE_NAME% user1202580 2012-02-10 18:07:39

+0

我不能,但这里是加载数据文件的例子,加载数据的语法。 (http://dev.mysql.com/doc/refman/5.1/en/load-data.html)这个例子是在mysql shell的上下文中的,所以为了你的目的,你需要调用-e选项,然后包括适当的MYSQL命令。你不能只包含-e选项并期待它的工作:你需要在这之后实际提供一个mysql命令。请参阅文档中的第一个参考资料,了解如何完成此操作的示例。一旦你弄明白了,只有那么你会把它放在一个批处理文件中。 – horatio 2012-02-10 18:35:21

相关问题