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

Django + MySQL - व्यवस्थापक साइट - उपयोगकर्ता जोड़ें - ऑपरेशनल त्रुटि - SAVEPOINT मौजूद नहीं है

इस बग ने मुझे लंबे समय तक परेशान किया, इसलिए मैंने और अधिक खुदाई करने और इसे हमेशा के लिए हल करने का प्रयास करने का फैसला किया।

मूल कारण:SAVEPOINT समस्या एक बग है जो केवल MySQL-Python में होती है कनेक्टर।

फिक्स:पायथन के लिए अन्य MySQL ड्राइवरों का उपयोग करें (जैसे mysqlclient )।

विवरण/निष्कर्ष:

  • Mac के लिए Homebrew, MAMP और XAMPP में MySQL बायनेरिज़ को आज़माया।
  • विभिन्न MySQL संस्करणों की कोशिश की, 5.6 (libmysqlclient.18.dylib ) और 5.7 (libmysqlclient.20.dylib )
  • विभिन्न पायथन के MySQL ड्राइवरों की कोशिश की।

MySQL बायनेरिज़/संस्करणों को बदलकर कोई संबंध नहीं मिला। लेकिन मैंने आमतौर पर पायथन में उपयोग किए जाने वाले विभिन्न MySQL ड्राइवरों का परीक्षण करके इस मुद्दे को कम कर दिया है:

  1. MySQLdb (व्यापक रूप से उपयोग किया गया लेकिन पुराना डेटाबेस कनेक्टर, अंतिम प्रतिबद्धता 7 साल पहले थी!):

    $ pip install MySQL-python

  2. mysqlclient (MySQL-python का आधुनिक संस्करण , लेकिन w/ बहुत सारे बग समाधान और सुधार):

    $ pip install mysqlclient

  3. PyMySQL (शुद्ध पायथन MySQL डेटाबेस ड्राइवर):

    $ pip install PyMySQL

    फिर, settings.py . में जोड़ें (import os . के ठीक नीचे ):

    try:
        import pymysql
        pymysql.install_as_MySQLdb()
    except:
        pass
    
  4. MySQL-कनेक्टर-पायथन Oracle द्वारा (शुद्ध पायथन MySQL डेटाबेस ड्राइवर):

    $ pip install mysql-connector-python-rf

    फिर, डेटाबेस के ENGINE को संपादित करें settings.py . में कॉन्फ़िगरेशन :

    'ENGINE': 'mysql.connector.django',
    

SAVEPOINT समस्या केवल MySQL-python . का उपयोग करते समय होती है कनेक्टर (#1 ड्राइवर), लेकिन अन्य में नहीं (#2, #3, #4 ड्राइवर)। मेरे मामले में, मैंने mysqlclient . चुना था . समस्या अब दूर हो गई है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Grails:हाइबरनेट बोली बदलते समय SQL सिंटैक्स में त्रुटि

  2. दशमलव डेटाटाइप मानों को गोल कर रहा है

  3. क्या कोई Android ऐप सीधे किसी ऑनलाइन mysql डेटाबेस से कनेक्ट हो सकता है?

  4. MySQL में जावा लोकलडेट जारी रखें

  5. MySQL w/PHP में क्वेरी समय परिणाम