Mysql
 sql >> база данни >  >> RDS >> Mysql

Грешка в заявката на Python/MySQL:„Неизвестна колона“.

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

Буквално става

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

Вместо струни, watermelon и melon са колони. За да коригирате това, поставете кавички около вашия %s .

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

Въпреки това, трябва да го стартирате като:

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

Забележете, че премахнахме цитатите около %s и предават променливите като втори аргумент на execute метод. Execute предотвратява sql инжектирането от променливите, както и обвива низовете в кавички.

За повече информация вижте 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. MySQL - избор в близост до пространствена точка

  2. codeigniter активен запис получава заявка и заявка без клаузата LIMIT

  3. MYSQL Изберете от таблици въз основа на множество редове

  4. Мигриране на база данни на Oracle към MySQL на AWS, част 2

  5. Каква е разликата в производителността в реализациите на MySQL релационно разделение (IN AND вместо IN OR)?