sql >> データベース >  >> RDS >> Mysql

bashの戻り変数に問題があります

    より簡単な方法は:

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

    さらに、すべてのスクリプトを変更せずにMySQLコマンドにオプションを簡単に追加できるように、関数の使用を事前に確認します。

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

    これも読みやすいと思います...



    1. 2つのクラスタリング要因の物語

    2. 各データベースを個別のファイルにバックアップするためのmysqldumpのバッチファイル

    3. 移行laravel5.1で自動インクリメントフィールドを1000から開始するように設定します

    4. PostgreSQLユーザーの作成とデータベースへの追加