Mysql
 sql >> база данни >  >> RDS >> Mysql

Python предизвикателно кодиране на низове

Не трябва да използвате .format() за включване на стойности в sql заявка. Вместо това използвайте sql параметри:

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

cursor.execute(sql, providers)

където providers е оригиналният списък.

Идеята е да се генерира SQL заявка с in тествайте с помощта на синтаксис на SQL параметър, съответстващ на броя на доставчиците във вашия списък:WHERE provider in (%s, %s) ... за списък с двама доставчици. Да, синтаксисът на параметрите на MySQLdb sql отразява стария синтаксис за форматиране на python, но не е едно и също нещо.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL:Алтернативи за ПОРЪЧВАНЕ ПО RAND()

  2. PHP генерира динамично вмъкване на PDO

  3. Как да картографирате битов тип в Mysql за хибернация?

  4. Mysql заявка за динамично преобразуване на редове в колони на базата на две колони

  5. как да изтриете записи от база данни с Ajax