Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Einfügen von Variablen MySQL mit Python, funktioniert nicht

Sie müssen die SQL-Anweisung und die Parameter als separate Argumente übergeben:

cursor.execute(loggit[0], loggit[1])

oder verwenden Sie die variable Argumentsyntax (ein Splat, * ) :

cursor.execute(*loggit)

Ihre Version versucht, ein Tupel zu übergeben, das die SQL-Anweisung und Bindeparameter als einziges Argument enthält, wobei .execute() Die Funktion erwartet, nur die Zeichenfolge der SQL-Anweisung zu finden.

Üblicher ist es, die beiden getrennt zu halten und vielleicht nur die SQL-Anweisung in einer Variablen zu speichern:

loggit = """
        INSERT INTO logger (logged_info, dummy)
        VALUES
            (%s, %s)
    """
cursor.execute(loggit, (bob, dummyVar))