当使用 bash 脚本执行远程 MySQL 查询时,我如何知道命令是否成功。在本地,它将返回退出代码。但是,在远程,它似乎发送了查询,并且如果它能够连接到远程 MySQL 数据库,则将其视为成功。是否有任何方法可以在远程执行时查看输出,就像在本地执行时一样。以下是脚本:
#!/bin/bash
RemoveID=`mysql -u root -proot -h 192.168.1.56 -e "delete from table where ID = '$1'"`
答案1
SELECT 语句将返回行数到你的 shell 变量中。
对于 DELETE 语句,只需SELECT ROW_COUNT()
在 mysql 查询后附加一个,因此在您的示例中它将如下所示:
RemoveID=`mysql -u root -proot -h 192.168.1.56 -e "delete from table where ID = '$1';select row_count()"`
echo $RemoveID ROW_COUNT() 1
答案2
您可以运行后续查询来检查脚本中已删除的 ID。