sql >> データベース >  >> RDS >> Mysql

Sqlalchemy、生のクエリとパラメータ

    両方の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}
    )
    



    1. PHPを使用してリモートMySQLサーバーに接続する

    2. ScaleGrid DBaaSは、AWSクラウドを介してMySQLホスティングサービスを拡張します

    3. MySQL IF()関数の説明

    4. Heroku pg:pullがスキーマの入力に失敗する