Я использую Linux и MySQL 5.6Может ли MySQL выдавать ненулевой код возврата при непустоте результата?
Я бегу для MySQL таким образом:
mysql --user=XXX --password=XXX < myfile.sql
Вот содержание myfile.sql
select * from account where balance < 0
То, что я хочу сделать то, что:
Если есть хотя бы одна учетная запись с отрицательным балансом, выдайте ненулевой код возврата.
Тогда мой сценарий может проверить эту ситуацию так:
mysql --user=XXX --password=XXX < myfile.sql
if [[ $? -gt 0 ]]
then
echo ERROR: Negative balance
fi
Могу ли я достичь этого?
Или есть альтернативные методы?
2016-05-28 обновление:
На самом деле, моя реальная жизнь дело осложняется. Я использую этот простой пример для упрощения выражения моей проблемы.
На самом деле есть что-то вроде инструкции [return] в функции сценария оболочки, чтобы я мог выдавать разные коды возврата в зависимости от разных ситуаций?
Для принятого ниже ответа, похоже, что MySQL не может создать самоопределяемый код возврата. Помещение счетчика (*) в качестве последней строки выходного дисплея представляется альтернативой.
Возможного дубликата [Проблема с переменным возвратом в Баше] (http://stackoverflow.com/вопросы/6763707/проблемы с-возвратная переменными в-Баш) – GhostGambler