sql >> Base de Datos >  >> RDS >> PostgreSQL

psycopg2 cómo lidiar con TypeError:no todos los argumentos se convierten durante el formateo de cadenas

Los argumentos sql que pasas a execute debe estar en una tupla o lista, incluso si solo hay uno de ellos. Esto se indica en la documentación:

Para el enlace de variables posicionales, el segundo argumento siempre debe ser una secuencia, incluso si contiene una sola variable. Y recuerda que Python requiere una coma para crear una tupla de un solo elemento:

Así que tienes que hacerlo así:

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