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

Python/MySQL-Abfragefehler:„Unbekannte Spalte“.

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

Wird buchstäblich

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

Anstelle von Schnüren watermelon und melon sind Säulen. Um dies zu beheben, setzen Sie Ihr %s in Anführungszeichen .

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

Sie sollten es jedoch wie folgt ausführen:

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

Beachten Sie, dass wir die Anführungszeichen um %s entfernt haben und übergeben die Variablen als zweites Argument an execute Methode. Execute Verhindert die SQL-Injektion aus den Variablen und schließt Zeichenfolgen in Anführungszeichen ein.

Weitere Informationen finden Sie unter http://mysql-python.sourceforge.net/ MySQLdb.html#einige-beispiele