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

Error de consulta Python/MySQL:`Columna desconocida`

"INSERT INTO fruit (name, variety) VALUES (%s, %s)" % ("watermelon", "melon")

Literalmente se convierte

INSERT INTO fruit (name, variety) VALUES (watermelon, melon)

En lugar de cadenas, watermelon y melon son columnas. Para arreglar esto, ponga comillas alrededor de su %s .

"INSERT INTO fruit (name, variety) VALUES ('%s', '%s')" % (new_fruit, new_fruit_type)

Sin embargo, debe ejecutarlo como:

cursor.execute("INSERT INTO fruit (name, variety) VALUES (%s, %s)", (new_fruit, new_fruit_type));

Tenga en cuenta que eliminamos las comillas alrededor del %s y están pasando las variables como segundo argumento para execute método. Execute evita la inyección de sql de las variables y envuelve las cadenas entre comillas.

Para obtener más información, consulte http://mysql-python.sourceforge.net/ MySQLdb.html#algunos-ejemplos