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

cmd . पर pgsl बैकअप को पुनर्स्थापित करने के लिए psql त्रुटि

जैसा कि जूप ने समझाया, आपकी SQL फ़ाइल असंगत है।

raffle.user_id . से एक विदेशी कुंजी बाधा है करने के लिए "user".id , जिसका अर्थ है कि raffle.user_id . में प्रत्येक मान के लिए "user" . में एक पंक्ति होनी चाहिए जहां id एक ही मूल्य है।

अब "user" . में कोई पंक्ति नहीं डाली गई है एक id . के साथ 1 के बराबर, लेकिन स्क्रिप्ट raffle . में एक पंक्ति डालने का प्रयास करती है user_id . के साथ 1 के बराबर।

यह विदेशी कुंजी बाधा का उल्लंघन करता है एक त्रुटि का कारण बनता है। एक बार PostgreSQL लेनदेन में कोई त्रुटि हो जाने के बाद, आप केवल ROLLBACK कर सकते हैं . जब तक आप ऐसा नहीं करते, लेन-देन के सभी विवरण आपके द्वारा देखी गई त्रुटि के साथ विफल हो जाएंगे।

आपके पास एकमात्र समाधान या तो डेटा को ठीक करना है ताकि वे सुसंगत हों या विदेशी कुंजी बाधा को हटाकर निरंतरता छोड़ दें।

टिप्पणी: आरक्षित SQL कीवर्ड जैसे USER . चुनना एक बुरा विचार है नाम के रूप में।



  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. psql और puTTY के माध्यम से पोस्टग्रेज से जुड़े होने पर auto_increment में त्रुटि

  3. java.lang.IllegalArgumentException:im ==शून्य?

  4. IServiceCollection में AddNpgsql की कोई परिभाषा या एक्सटेंशन नहीं है

  5. PL/PGSQL से सत्र चर (\set var='value') का जिक्र करते हुए