PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

psycopg2 comment gérer TypeError:tous les arguments ne sont pas convertis lors du formatage de la chaîne

Les arguments sql que vous passez à execute doit être dans un tuple ou une liste, même s'il n'y en a qu'un seul. Ceci est noté dans la documentation :

Pour la liaison de variables positionnelles, le deuxième argument doit toujours être une séquence, même s'il contient une seule variable. Et rappelez-vous que Python nécessite une virgule pour créer un tuple d'élément unique :

Vous devez donc procéder comme ceci :

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