PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

psycopg2 como lidar com TypeError:nem todos os argumentos são convertidos durante a formatação de strings


Os argumentos sql que você passa para execute deve estar em uma tupla ou lista, mesmo que haja apenas uma delas. Isso é observado na documentação:

Para vinculação de variáveis ​​posicionais, o segundo argumento deve sempre ser uma sequência, mesmo que contenha uma única variável. E lembre-se que o Python requer uma vírgula para criar uma tupla de elemento único:

Então você precisa fazer assim:
ip ="127.0.0.1" 
sql="select count(*) from radacct where nasipaddress=%s"
cur.execute(sql, (ip,))