Con la especificación DB API de Python puede pasar un argumento de parámetros al método execute(). Parte de mi declaración es una cláusula WHERE IN y he estado usando una tupla para completar el IN. Por ejemplo:Pasando param a DB .execute para WHERE IN ... INT list
params = ((3, 2, 1),)
stmt = "SELECT * FROM table WHERE id IN %s"
db.execute(stmt, params)
Pero cuando me encuentro con una situación en la tupla parámetro sólo es una tupla de 1 artículo, la ejecución falla.
ProgrammingError: ERROR: syntax error at or near ")"
LINE 13: WHERE id IN (3,)
¿Cómo puedo hacer que la tupla funcione correctamente con la cláusula?
Corrígeme si me equivoco, pero ¿su ejemplo no solo pasa el primer elemento solo a la subcláusula IN? > SELECCIONAR * FROM table WHERE id IN (3) –
@John: tienes razón, gracias. Actualizando la respuesta con más información. – bernie
Gracias, Adam. –