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

त्रुटि:कुंजी ... तालिका में मौजूद नहीं है

मेरा पहला अनुमान यह होगा कि आप दो . के साथ काम कर रहे हैं अलग-अलग टेबल नाम bg . स्कीमा में से एक tiger , और दूसरा एक अज्ञात स्कीमा में जो tiger . से पहले आता है आपके search_path . में - या बाघ search_path में नहीं है बिल्कुल।

bg . नाम की सभी टेबल ढूंढें (केस सेंसिटिव) मौजूदा डीबी में सभी स्कीमा में:

SELECT * FROM pg_tables WHERE tablename = 'bg';

search_path को समझने के लिए सेटिंग:

Postgres DB क्लस्टर की संरचना को समझने के लिए:

यदि ऐसा नहीं है, तो आपकी अनुक्रमणिका दूषित हो सकती है। मैं पहले एक REINDEX आज़माउंगा :

REINDEX bg_pkey;

विरासत!

मैं आपकी जोड़ी गई तालिका परिभाषा में देखता हूं:

संदेह है कि bg_id ='470370111002' . वाली पंक्ति वास्तव में चाइल्ड टेबल . में रहता है tiger_data.tn_bg . लेकिन आपकी FK बाधा पैरेंट टेबल . का संदर्भ देती है . FK बाधाएं विरासत में नहीं मिली हैं।
यदि आप क्वेरी करते हैं तो आपको क्या मिलता है:

SELECT * FROM ONLY bg WHERE bg_id ='470370111002'

अगर मेरी परिकल्पना सही है, तो आपको कोई पंक्ति नहीं मिलती है . अध्याय चेतावनी मैनुअल के वंशानुक्रम पृष्ठ पर

संबंधित:




  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. खेलें! फ्रेमवर्क - डेटाबेस से कनेक्ट नहीं हो सकता

  3. Azure फ़ंक्शंस में PostgreSQL से कनेक्शन के लिए एक्सेस टोकन प्राप्त करें

  4. डेटाटाइम के साथ एक पांडा डेटाफ्रेम को कैसे स्टोर करें। sqlalchemy का उपयोग करके पोस्टग्रेस्क्ल डी/बी में डेटा ऑब्जेक्ट्स टाइप करें?

  5. एकाधिक दशमलव बिंदुओं (.) के साथ PostgreSQL से रिकॉर्ड सॉर्ट करना