sql >> Database teknologi >  >> RDS >> Mysql

Problem med returvariabel i bash

En nemmere måde er:

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

Desuden vil jeg forudse brugen af ​​funktionen for nemt at tilføje muligheder til MySQL-kommandoen uden at skulle ændre hele dit script.

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'")
# ...

Jeg finder det også mere læseligt...



  1. Hvordan henter man flere rækker fra lagret procedure i MySQL?

  2. PHP Laravel:Der kunne ikke oprettes forbindelse, fordi målmaskinen aktivt afviste det

  3. FEJL 1215:Kan ikke tilføje fremmednøglebegrænsning ved brug af ON SLET SET NULL

  4. MySQL (eller PHP?) grupperer resultater efter feltdata