Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

पायथन/MySQL क्वेरी त्रुटि:`अज्ञात कॉलम`

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

सचमुच बन जाता है

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

स्ट्रिंग्स के बजाय, watermelon और watermelon स्तंभ हैं। इसे ठीक करने के लिए, अपने %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 चर से एसक्यूएल इंजेक्शन को रोकता है और साथ ही उद्धरण चिह्नों में तार लपेटता है।

अधिक जानकारी के लिए, देखें 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. क्या सिद्धांत में किसी फ़ील्ड के रूप में SQL फ़ंक्शन के परिणाम का उपयोग करना संभव है?

  3. टेक्स्ट को ठीक उसी तरह संरक्षित और प्रदर्शित करें जिस तरह से इसे टाइप और सबमिट किया जाता है

  4. एसक्यूएल-सर्वर और MySQL इंटरऑपरेबिलिटी?

  5. MySQL:GROUP_CONCAT एक ORDER BY COUNT के साथ?