sql >> Base de Datos >  >> RDS >> Mysql

Insertar variables MySQL usando Python, no funciona

Debe pasar la instrucción SQL y los parámetros como argumentos separados:

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

o use la sintaxis de argumento variable (un símbolo, * ) :

cursor.execute(*loggit)

Su versión intenta pasar una tupla que contiene la instrucción SQL y los parámetros de enlace como único argumento, donde .execute() La función espera encontrar solo la cadena de la instrucción SQL.

Es más habitual mantener los dos separados y tal vez almacenar solo la instrucción SQL en una variable:

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