#!bin/bash
Query="update table_name set colume ='i' where column_name is NOT NUll"
mysql -u username -p password mysql <<EOF
$query;
EOF
上記のスクリプトは動作しません
答え1
MySQL のドキュメントは非常にわかりやすいです:
#!bin/bash
query="update table_name set colume ='i' where column_name is NOT NUll"
mysql -u username -ppassword mysql -e "$query";
-e
このオプションを使用すると、任意のクエリを mysql サーバーに送信できます。
-p
との間にスペースがないことに注意してください。これはCLIpassword
の意図的な構文です。mysql
答え2
Query
上記のスクリプトは、シェル構文が大文字と小文字を区別し、変数を定義してからそれを展開するため機能しませんquery
。
それ以外の場合は、適切な方法については @Kondybas の回答を参照してください。