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

ऑब्जेक्ट डालने का सबसे तेज़ तरीका अगर यह SQLAlchemy के साथ मौजूद नहीं है

यदि कॉलम के संयोजन के आधार पर ऐसी कोई वस्तु अद्वितीय है, तो आपको इन्हें समग्र प्राथमिक कुंजी के रूप में चिह्नित करने की आवश्यकता है। primary_key=Trueजोड़ें इनमें से प्रत्येक कॉलम के लिए कीवर्ड पैरामीटर, आपकी id को छोड़ कर कॉलम पूरी तरह से:

class Showing(Base):
    __tablename__   = "showings"

    time            = Column(DateTime, primary_key=True)
    link            = Column(String)
    film_id         = Column(Integer, ForeignKey('films.id'), primary_key=True)
    cinema_id       = Column(Integer, ForeignKey('cinemas.id'), primary_key=True)

इस तरह आपका डेटाबेस इन पंक्तियों को अधिक कुशलता से संभाल सकता है (बढ़ते कॉलम की कोई आवश्यकता नहीं है), और SQLAlchemy अब स्वचालित रूप से जानता है कि Showing के दो उदाहरण हैं या नहीं एक ही बात हैं।

मैं विश्वास करता हूं फिर आप बस अपना नया Showing . मर्ज कर सकते हैं सत्र में वापस:

def AddShowings(self, showing_times, cinema, film):
    for showing_time in showing_times:
        self.session.merge(
            Showing(time=showing_time[0], link=showing_time[1],
                    film=film, cinema=cinema)
        )



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. डेटाबेस संरचना सलाह की आवश्यकता

  2. कुछ उपसर्ग के साथ MySQL तालिका प्राथमिक कुंजी ऑटो वृद्धि कैसे करें

  3. MySQL IN क्वेरीज़ सबक्वेरी के साथ बहुत धीमी लेकिन स्पष्ट मानों के साथ तेज़ हैं

  4. PhpMyAdmin का उपयोग करके डेटाबेस को डुप्लिकेट कैसे करें

  5. पीडीओ मल्टी-क्वेरी SQLSTATE [HY000]:सामान्य त्रुटि