Con le specifiche API DB di Python è possibile passare un argomento di parametri al metodo execute(). Parte della mia affermazione è una clausola WHERE IN e ho usato una tupla per popolare l'IN. Per esempio:Passare param a DB .execute per WHERE IN ... INT lista
params = ((3, 2, 1),)
stmt = "SELECT * FROM table WHERE id IN %s"
db.execute(stmt, params)
Ma quando mi imbatto in una situazione in cui il parametro tupla è solo una tupla di 1 articolo, l'esecuzione non riesce.
ProgrammingError: ERROR: syntax error at or near ")"
LINE 13: WHERE id IN (3,)
Come posso far funzionare correttamente la tupla con la clausola?
Correggetemi se ho torto, ma il tuo esempio non passa solo il primo elemento solo alla sotto-clausola IN? > SELECT * FROM table WHERE id IN (3) –
@John: hai ragione, grazie. Aggiornamento della risposta con maggiori informazioni. – bernie
Grazie, Adam. –