sql >> Databasteknik >  >> RDS >> Mysql

Infoga variabler MySQL med Python, fungerar inte

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))



  1. BESTÄLL MED NULL i MySQL

  2. SQLite Self-Join

  3. Hur man skapar en klon av ditt MySQL- eller PostgreSQL-databaskluster

  4. Deklarera och ställa in variabler i ett urvalsutdrag