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

psycopg2 как се справят с TypeError:не всички аргументи се преобразуват по време на форматиране на низ

sql аргументите, които предавате на execute трябва да бъде в кортеж или списък, дори ако има само един от тях. Това е отбелязано в документацията:

За обвързване на позиционни променливи вторият аргумент винаги трябва да бъде последователност, дори ако съдържа една променлива. И не забравяйте, че Python изисква запетая, за да създаде кортеж от един елемент:

Така че трябва да го направите по следния начин:

ip ="127.0.0.1" 
sql="select count(*) from radacct where nasipaddress=%s"
cur.execute(sql, (ip,))



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Имената на колоните в PostgreSQL са чувствителни към главни букви?

  2. Име на таблица като параметър на функцията на PostgreSQL

  3. Използване на pt-pg-summary Percona Toolkit за PostgreSQL

  4. По-стабилни съпоставяния с поддръжка на ICU в PostgreSQL 10

  5. Как да попълните липсващите дати в PostgreSQL с помощта на generate_series