Keduanya mv dan ml tidak akan dikenali, karena Anda belum mendefinisikannya sebagai variabel.
Argumen kedua dari execute pernyataan adalah kamus, dan semua elemen dari kueri sederhana Anda "UPDATE client SET musicVol = :mv , messageVol = :ml" lolos dengan titik dua sedang dicari di kunci kamus ini. execute metode tidak menemukan kunci 'mv' atau 'ml' dalam kamus ini, oleh karena itu muncul kesalahan.
Ini adalah versi yang benar:
db.my_session.execute(
"UPDATE client SET musicVol = :mv, messageVol = :ml",
{'mv': music_volume, 'ml': message_volume}
)