sql >> Database >  >> RDS >> Mysql

Variabelen invoegen MySQL met Python, werkt niet

U moet de SQL-instructie en de parameters als afzonderlijke argumenten doorgeven:

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

of gebruik de variabele argumentsyntaxis (een splat, * ) :

cursor.execute(*loggit)

Uw versie probeert een tuple door te geven met de SQL-instructie en bindparameters als het enige argument, waarbij de .execute() functie verwacht alleen de SQL-statementstring te vinden.

Het is gebruikelijker om de twee gescheiden te houden en misschien alleen de SQL-instructie in een variabele op te slaan:

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



  1. Dubbele rijen vinden in SQL Server

  2. Entiteiten genereren uit database

  3. Meerkolomsindex op 3 velden met heterogene gegevenstypen

  4. NEWID() vs NEWSEQUENTIALID() in SQL Server:wat is het verschil?