#!bin/bash
Query="update table_name set colume ='i' where column_name is NOT NUll"
mysql -u username -p password mysql <<EOF
$query;
EOF
Das obige Skript funktioniert nicht
Antwort1
Die MySQL-Dokumentation ist ziemlich sauber:
#!bin/bash
query="update table_name set colume ='i' where column_name is NOT NUll"
mysql -u username -ppassword mysql -e "$query";
-e
Option ermöglicht das Senden einer beliebigen Abfrage an den MySQL-Server.
-p
Beachten Sie, dass zwischen und kein Leerzeichen steht password
- das ist eine beabsichtigte Syntax der mysql
CLI
Antwort2
Das obige Skript funktioniert nicht, da die Shell-Syntax zwischen Groß- und Kleinschreibung unterscheidet und Sie früher Query
die Variable definiert und dann query
erweitert haben.
Andernfalls finden Sie in der Antwort von @Kondybas Informationen zur richtigen Vorgehensweise.