2012-02-10 48 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

相關問題