Quando uma consulta SQL não retorna nada, como posso dizer ao shell para retornar um "falso"?

Quando uma consulta SQL não retorna nada, como posso dizer ao shell para retornar um "falso"?

Isso pode não ter nada a ver com SQL em particular, porque tenho certeza de que outros comandos farão isso também.

Nesse caso, envio uma consulta pelo shell, e se a consulta não corresponder a nenhuma tabela, literalmente nada será retornado, nem mesmo um Retorno de Carro.

Como posso criar um script para meu shell que, nesse caso, um 0ou falseseja retornado?

Aqui está meu comando de exemplo que está produzindo meu problema:

mysql -u Popey --password='Misses Jono' -s -N --disable-column-names -e 
"select term_id from shuttleworth.wp_terms where name = 'nonExistentName' LIMIT 1;"

Responder1

-va opção para o modo detalhado deve fornecer mais resultados. Não posso tentar isso agora, pois não tenho um servidor SQL em execução.

Responder2

Meu primo me ofereceu essa solução. Testei e funciona.

Única linha:

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`

Quebrado:

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

informação relacionada