2012-02-10 3 views
0

Я создал .bat файл (import_file.bat):Как импортировать данные из .bat-файла в MySQL?

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 я вошел:

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

спасибо, я добавить в летучей мыши файл на -е: набор database_name = nome_db mysql -e -u root --password = pass --database% database_name% user1202580

+0

Я не могу, но вот синтаксис для 'load data' с примером для загрузки файла данных. (http://dev.mysql.com/doc/refman/5.1/en/load-data.html) пример находится в контексте оболочки mysql, поэтому для ваших целей вы будете использовать параметр -e, а затем включить правильную команду MYSQL. Вы не можете просто включить параметр -e и ожидать, что он будет работать: вам нужно дать команду mysql после этого. См. Первую ссылку в документации для примеров того, как это будет сделано. Как только вы это выясните, ТОЛЬКО ТО, ЧТО, вы поместите это в пакетный файл. – horatio

Смежные вопросы