Когда SQL-запросу не удается возвратить что-нибудь, как я могу сказать оболочке возвращать “false” вместо этого?

Это не может иметь никакого отношения к SQL, в частности, потому что я уверен, что другие команды сделают это также.

В этом случае я отправляю запрос через оболочку, и если запрос не будет соответствовать никакой таблице, то буквально ничто не будет возвращено, даже Возврат каретки.

Как я могу написать сценарий своей оболочки это в таком случае, a 0 или false возвращается вместо этого?

Вот моя демонстрационная команда, которая производит мою проблему:

mysql -u Popey --password='Misses Jono' -s -N --disable-column-names -e 
"select term_id from shuttleworth.wp_terms where name = 'nonExistentName' LIMIT 1;"
0
задан 21 December 2016 в 09:59

2 ответа

-v опция для подробного режима должна дать Вам более вывод. Я не могу попробовать это прямо сейчас, так как у меня нет выполнения SQL-сервера.

0
ответ дан 7 November 2019 в 07:03

Мой кузен предложил мне это решение. Протестированный это, и это работает.

Одна строка:

response=$(mysql -u popey --password='Misses Jono' -s -N --disable-column-names -e "select term_id from shuttleworth.wp_terms where name = 'non-existent-name' LIMIT 1;") && if [ -z "$response" ]; then echo false; else echo $response; fi`
<час>

Сломанный:

response=
    $(mysql 
      -u popey 
      --password='Misses Jono' 
      -s -N --disable-column-names 
      -e 
          "SELECT term_id 
           FROM shuttleworth.wp_terms
           WHERE name = 'non-existent-name' 
           LIMIT 1;"
      ) 
&& if [ -z "$response" ]; 
   then echo false; 
   else echo $response; 
   fi
0
ответ дан 7 November 2019 в 07:03

Другие вопросы по тегам:

Похожие вопросы: