.bat批处理执行sql脚本后(MySQL),怎么根据执行成功与否输出不同提示?

.bat中运行完对MySQL的升级脚本后,怎样获取MySQL的返回结果并判断是否成功,以此输出不同的提示信息?
图片说明图片说明

可以在执行完 MySQL 脚本后,通过判断执行脚本的返回值来输出不同的提示信息。可以通过使用 %ERRORLEVEL% 变量来获取上一条命令的执行结果。

在 Windows 中,%ERRORLEVEL% 变量的值在执行命令后会被设置为该命令的退出状态码。根据 MySQL 脚本执行的结果,可以设置不同的退出状态码,然后利用 %ERRORLEVEL% 的值来判断执行结果,并输出相应的提示信息。

例如,如果 MySQL 脚本执行成功,可以在脚本最后添加一个 exit 0 命令,表示成功执行,然后在 .bat 文件中添加如下代码:

mysql -hlocalhost -uroot -ppassword < update.sql
if %ERRORLEVEL% EQU 0 (
    echo "MySQL 脚本执行成功!"
) else (
    echo "MySQL 脚本执行失败!"
)

如果 MySQL 脚本执行失败,可以在脚本最后添加一个 exit 1 命令,表示执行失败,然后在 .bat 文件中添加如下代码:

mysql -hlocalhost -uroot -ppassword < update.sql
if %ERRORLEVEL% EQU 0 (
    echo "MySQL 脚本执行成功!"
) else (
    echo "MySQL 脚本执行失败!"
)

这样就可以根据 MySQL 脚本的执行结果,输出不同的提示信息了。