D:
cd Tools/MySQL5/bin
mysql -u root mysql
use xyz;
source C:/Users/abc/Desktop/xyz.sql;
\q
当我在命令提示符下运行上面的行时,它工作正常,但当我将其保存为批处理文件并运行该文件时,它连接到mysql但不执行sql脚本。
答案 0 :(得分:0)
这应该有效
mysql -u root xyz < C:/Users/abc/Desktop/xyz.sql;
它从您的文件中获取SQL命令
答案 1 :(得分:0)
现在我看到的错误是,在你的提示中逐个执行上述命令,一旦你运行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;
如果需要,This link可以进一步为您提供帮助
答案 2 :(得分:0)
你可以写这样的东西
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
答案 3 :(得分:0)
这可以。
mysql.exe -u user_name -p -h _host_ _schema_ -e "select 1 from dual;"
这还将使您在同一命令终端上输出