sql >> Databasteknik >  >> RDS >> Mysql

Sqlalchemy, rå fråga och parametrar

Båda mv och ml kommer inte att kännas igen, eftersom du inte har definierat dem som variabler.

Det andra argumentet för execute uttalande är en ordbok, och alla element i din vanliga fråga "UPDATE client SET musicVol = :mv , messageVol = :ml" flydde med ett kolon söks efter i denna ordboks nycklar. execute Metoden hittade ingen nyckel 'mv' inte heller 'ml' i denna ordbok uppstår därför ett fel.

Detta är den korrekta versionen:

db.my_session.execute(
    "UPDATE client SET musicVol = :mv, messageVol = :ml",
    {'mv': music_volume, 'ml': message_volume}
)



  1. Skapa en testmiljö från ett produktionslager

  2. MYSQL GROUP BY och ORDER BY fungerar inte tillsammans som förväntat

  3. Hur returnerar man endast arbetstid från bokningar i PostgreSql?

  4. Vilka är reglerna för att använda interna parametrar i SSRS