sql >> Databáze >  >> RDS >> PostgreSQL

psycopg2 jak se vypořádat s TypeError:ne všechny argumenty se převádějí během formátování řetězce

Sql argumenty, které předáte execute musí být v n-tici nebo seznamu, i když je pouze jeden z nich. Toto je uvedeno v dokumentaci:

Pro vazbu pozičních proměnných musí být druhý argument vždy sekvenční, i když obsahuje jedinou proměnnou. A pamatujte, že Python vyžaduje čárku k vytvoření n-tice jednoho prvku:

Takže to musíte udělat takto:

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



  1. Vydělávejte peníze nevyužitými věcmi:Sdílený ekonomický datový model

  2. Funkce Concat nefunguje - neplatný počet argumentů

  3. Použití Oracle JDeveloper 12c s databází Oracle, část 2

  4. Získávání zadaných výsledků z ActiveRecord raw SQL