sql >> Database >  >> RDS >> Mysql

Probleem met retourvariabele in bash

Een gemakkelijkere manier is:

var=$(mysql -h abcdcef.com --port=3306 --user=root --password=hbbfe --batch --skip-column-names -Dshop -e "select count(*) from shop_tab where catalog <> ''")

Bovendien zal ik het gebruik van functie preconiseren om gemakkelijk opties aan de MySQL-opdracht toe te voegen zonder al je script te hoeven wijzigen.

function MysqlQuery() {
    mysql -h abcdcef.com --port=3306 --user=root --password=hbbfe --batch --skip-column-names -D "$1" -e "$2";
}

va=$(MysqlQuery Shop "SELECT COUNT(*) FROM shop_tab WHERE catalog <> ''")
vaABC=$(MysqlQuery Shop "SELECT COUNT(*) FROM shop_tab WHERE catalog <> 'abc'")
vadef=$(MysqlQuery Shop "SELECT COUNT(*) FROM shop_tab WHERE catalog <> 'def'")
# ...

Ik vind dit ook leesbaarder...



  1. mysql importeren op windows

  2. MySQL SELECT unieke kolom waar andere kolom max is

  3. Reactietijd op verzonden bericht controleren - mogelijk met alleen SQL?

  4. PDO:MySQL-server is verdwenen