"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