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

Python mysql.connector.errors. %s предадено на SQL заявка с кавички

Фактът, че MySQLPython използва стандартния маркер за формат на низ ("%") за контейнери за променливи в заявките, може да направи нещата объркващи.

Контейнерът за заявки в db-api на python е за стойности използвани в where клаузи и insert и update изрази и са правилно санирани/екранирани/цитирани от db-api, за да се избегнат SQL инжекции и т.н. Те не трябва да се използват за имена на таблици или полета.

И така, това, което искате тук, е да създадете вашата заявка, като използвате форматиране на низ:

sql =  'SHOW TABLES FROM %s;' % (db_name[0],)
cursor.execute(sql)

Тъй като db_name[0] идва от доверен източник, тук няма проблем със сигурността.




  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 CASE WHEN JOIN Грешка в оператора

  2. Как да получите всички дати за един месец

  3. Персонализирана таблица на Wordpress или типове персонализирани публикации?

  4. Работно време на MySQL

  5. Django MySQL грешка при мигриране