シェルスクリプトから mysql の ID 数を取得します。

シェルスクリプトから mysql の ID 数を取得します。

列数を取得しようとしています。ユーザーIDcount(user_Id)以下で使用mysql次のように:

 count=$(mysql -uroot -proot csv_imports -e "select count(user_Id) from test_data where user_Id=\"12345\";")

私はこれが何が間違っているのかわかりません。私が望むもの数字結果。私を助けることができることはありますか?

答え1

あなたの命令:

count=$(mysql -uroot -proot csv_imports -e "select count(user_Id) from test_data where user_Id=\"12345\";")

次のような結果が得られます。

+---------------+
| count(userid) |
+---------------+
|             5 |
+---------------+

これはクエリのデフォルト出力であるためですmysql

-sヘッダーと列名を非表示にするには、[自動]オプションと-N[列名をスキップ]オプションを含める必要があります。

このように、コマンドは以下を使用して変数に保存される値のみmysqlを返します(私の出力に応じて)。5

count=$(mysql -s -N -uroot -proot csv_imports -e "select count(user_Id) from test_data where user_Id=\"12345\";")

count次のコマンドを使用して端末に変数値を書きます。

echo "$count"

(再び、私の出力に従って)aを返す場合は、5テスト式と計算で数値として使用できます。

関連情報