sql >> Databáze >  >> RDS >> Mysql

Chyba dotazu Python/MySQL:`Neznámý sloupec`

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

Doslova se stává

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

Místo řetězců watermelon a watermelon jsou sloupce. Chcete-li to vyřešit, dejte kolem %s uvozovky .

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

Měli byste jej však spustit jako:

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

Všimněte si, že jsme odstranili uvozovky kolem %s a předají proměnné jako druhý argument do execute metoda. Execute zabraňuje vkládání SQL z proměnných a také zalamuje řetězce do uvozovek.

Další informace naleznete na stránce http://mysql-python.sourceforge.net/ MySQLdb.html#some-examples



  1. Instalace Oracle 11g Release 2 Enterprise Edition na Windows 7 32-Bit

  2. Příklad klauzule Oracle Trigger WHEN

  3. Je to opravdu dlouhé hlasování?

  4. Plánování obnovy po havárii pro MySQL a MariaDB