Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Błąd zapytania Python/MySQL:`Nieznana kolumna`

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

Dosłownie staje się

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

Zamiast ciągów watermelon i melon są kolumny. Aby to naprawić, umieść cudzysłowy wokół swojego %s .

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

Powinieneś jednak uruchomić go jako:

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

Zauważ, że usunęliśmy cytaty wokół %s i przekazują zmienne jako drugi argument do execute metoda. Execute zapobiega wstrzykiwaniu sql ze zmiennych, a także zawija ciągi znaków w cudzysłów.

Aby uzyskać więcej informacji, zobacz http://mysql-python.sourceforge.net/ MySQLdb.html#some-examples



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wyniki bazy danych jako obiekty czy tablice?

  2. Integracja MySQL z Pythonem w systemie Windows

  3. wybierz wiele wierszy w jednym wierszu wyników

  4. MYSQL Left Dołącz do ostatniego wiersza wyniku

  5. Jak przenieść moją bazę danych MySQL na inny komputer?