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

SqlAlchemy टेबल ऑब्जेक्ट को क्वेरी करते समय सभी पंक्तियों को वापस नहीं कर रहा है, लेकिन जब मैं टेबल ऑब्जेक्ट कॉलम को क्वेरी करता हूं तो सभी पंक्तियों को वापस कर देता है

मैं एक ऐसी ही स्थिति में भाग गया जहां SQLAlchemy क्वेरी ऑब्जेक्ट का .all() . है तालिका में सभी पंक्तियों को वापस नहीं करता है (हमेशा कुछ गायब) लेकिन .count() कॉल सही गिनती देता है। इसमें थोड़ा और खोदने के बाद, मुझे एहसास हुआ कि मॉडल घोषणा उस डेटाबेस में वास्तविक तालिका स्कीमा से विचलित हो गई है। सबसे पहले, डेटाबेस में स्कीमा में एक प्राथमिक कुंजी कॉलम होता है लेकिन मॉडल घोषणा में एक संरचना प्राथमिक कुंजी होती है (आपके जैसे विपरीत मामले में), मुझे 3-कॉलम अद्वितीय बाधा भी याद आती है जहां तालिका स्कीमा में है।

मेरे मामले में वहां क्या हुआ था कि जब भी SQL कीमिया डेटाबेस से पूछताछ करती है तो उसे दृश्य के पीछे सभी पंक्तियां मिलती हैं लेकिन मेरे मॉडल घोषणा में गलत संरचना प्राथमिक कुंजी के कारण SQLAlchemy के सत्र में लोड होने वाली कुछ पंक्तियों को रोका गया है (परिभाषा के अनुसार प्राथमिक कुंजी विशिष्ट रूप से पहचानती है ऑब्जेक्ट्स और यह परिणाम के रूप में सत्र में एक ही प्राथमिक कुंजी के साथ दो ऑब्जेक्ट्स लोड नहीं करेगा, इसलिए यह उन कंपोजिशन कॉलम को टॉस करता है जिनके डेटाबेस में समान मान होते हैं, उनके पास अलग-अलग पीके होते हैं।)

अंत में, यह सुनिश्चित करने के लिए कि वे सिंक में हैं, डेटाबेस स्कीमा के साथ मॉडल घोषणा को दोबारा जांचें, इस तरह के मुद्दों से पहली प्रतिक्रिया है।



  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. SQL DELETE के साथ WHERE कंडीशन के लिए एक और टेबल में शामिल हों

  4. मौजूदा MYSQL डेटाबेस के साथ Alter Table का उपयोग करके विदेशी कुंजी जोड़ने में समस्या - इसे जोड़ नहीं सकते! मदद!

  5. MySQL पृथक सबक्वेरी से घटाता है