Если SQL-запрос ничего не возвращает, как мне указать оболочке вернуть «false»?

Если SQL-запрос ничего не возвращает, как мне указать оболочке вернуть «false»?

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

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

Как мне написать скрипт для своей оболочки, чтобы в таком случае вместо этого возвращалось 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;"

решение1

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

решение2

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

Одна линия:

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

Связанный контент