sql >> Databáze >  >> RDS >> Mysql

Python náročné na kódování řetězců

Neměli byste používat .format() pro zahrnutí hodnot do SQL dotazu. Místo toho použijte parametry sql:

sql += " WHERE provider IN ({}) GROUP BY date ORDER BY date ASC".format(', '.join(['%s'] * len(providers)))

cursor.execute(sql, providers)

kde providers je původní seznam.

Cílem je vygenerovat SQL dotaz s in otestujte pomocí syntaxe parametru SQL odpovídající počtu poskytovatelů ve vašem seznamu:WHERE provider in (%s, %s) ... pro seznam dvou poskytovatelů. Ano, syntaxe parametru MySQLdb sql odráží starou syntaxi formátování pythonu, ale není to totéž.




  1. Jak deklarovat proměnnou a používat ji ve stejném skriptu Oracle SQL?

  2. Tabulka rodokmenu/rodokmenu z databáze

  3. Stránkování pro zobrazení maximální hodnoty a omezení zbytku

  4. Příliš velká velikost řádku v dotazu na vytvoření tabulky mysql