[英]Run sql script using batch file from command prompt
D:
cd Tools/MySQL5/bin
mysql -u root mysql
use xyz;
source C:/Users/abc/Desktop/xyz.sql;
\q
當我在命令提示符下運行以上行時,它工作正常,但是當我將其另存為批處理文件並運行該文件時,它會連接到mysql,但不執行sql腳本。
這應該工作
mysql -u root xyz < C:/Users/abc/Desktop/xyz.sql;
它從文件中獲取SQL命令
現在我看到的錯誤是,在提示符下逐個執行上述命令時,一旦運行mysql -u root mysql
,便進入了mysql控制台。 因此,您的source
命令將在那里工作,但在批處理中將無法工作,因為您在運行批處理文件時不在mysql控制台中。
解決方案:為此,您可以使用mysql,而不是使用source
。
mysql dbname < filename
在您的批處理文件中代替
mysql -u root mysql
use xyz;
source C:/Users/abc/Desktop/xyz.sql;
如果需要, 此鏈接可以為您提供進一步的幫助
你可以這樣寫
mysql -u dbUsername yourDatabase -e "SELECT * FROM table;"
或者,要運行重復任務,請創建一個runtasks.bat文件,將其保存在項目的根目錄下,然后將cmd任務寫入其中
mysql -u dbUser -e "DROP DATABASE IF EXISTS testDatabase;"
mysql -u dbUser -e "CREATE DATABASE testDatabase;"
php index.php migration latest #runs your migration files
cd application\tests
phpunit
這會起作用。
mysql.exe -u user_name -p -h _host_ _schema_ -e "select 1 from dual;"
這也將使您在同一命令終端上輸出
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.