Devi passare l'istruzione SQL ei parametri come argomenti separati:
cursor.execute(loggit[0], loggit[1])
oppure usa la sintassi dell'argomento variabile (a splat, *
)
:
cursor.execute(*loggit)
La tua versione tenta di passare una tupla contenente l'istruzione SQL e di associare parametri come unico argomento, dove .execute()
la funzione si aspetta di trovare solo la stringa dell'istruzione SQL.
È più comune mantenere i due separati e forse memorizzare solo l'istruzione SQL in una variabile:
loggit = """
INSERT INTO logger (logged_info, dummy)
VALUES
(%s, %s)
"""
cursor.execute(loggit, (bob, dummyVar))