Du måste skicka SQL-satsen och parametrarna som separata argument:
cursor.execute(loggit[0], loggit[1])
eller använd variabel argumentsyntax (en splat, *
)
:
cursor.execute(*loggit)
Din version försöker skicka in en tuppel som innehåller SQL-satsen och bindningsparametrar som enda argument, där .execute()
funktion förväntar sig att bara hitta SQL-satssträngen.
Det är mer vanligt att hålla de två separata och kanske bara lagra SQL-satsen i en variabel:
loggit = """
INSERT INTO logger (logged_info, dummy)
VALUES
(%s, %s)
"""
cursor.execute(loggit, (bob, dummyVar))