両方のmv
およびml
変数として定義していないため、認識されません。
execute
の2番目の引数 ステートメントは辞書であり、プレーンクエリのすべての要素"UPDATE client SET musicVol = :mv , messageVol = :ml"
コロンでエスケープされたものは、この辞書のキーで検索されています。 execute
メソッドがキー'mv'
を見つけられませんでした 'ml'
したがって、この辞書ではエラーが発生します。
これは正しいバージョンです:
db.my_session.execute(
"UPDATE client SET musicVol = :mv, messageVol = :ml",
{'mv': music_volume, 'ml': message_volume}
)