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

विभिन्न डेटाबेस में विदेशी कुंजी बाधा कैसे बनाए रखें?

मैं मानक MySQL के साथ ऐसा करने का कोई तरीका नहीं सोच सकता।

आप MySQL Proxy के लिए एक प्लगइन लिख सकते हैं , जो विभिन्न सर्वरों पर पैरेंट और चाइल्ड टेबल के बीच संदर्भात्मक अखंडता का प्रबंधन करता है:

  • इंटरसेप्ट INSERT और UPDATE चाइल्ड टेबल के खिलाफ पैरेंट तालिका में पंक्ति मिलान के लिए क्वेरी। विफल INSERT /UPDATE अगर पैरेंट टेबल में कोई मैच नहीं मिला।

  • इंटरसेप्ट DELETE मूल तालिका के खिलाफ। चाइल्ड टेबल में आश्रित पंक्तियों के लिए क्वेरी। विफल DELETE यदि कोई आश्रित पंक्तियाँ चाइल्ड टेबल में पाई जाती हैं। यदि बाधा का उद्देश्य कैस्केडिंग व्यवहार का समर्थन करना है, तो असफल होने के बजाय ऐसा करें।

  • इंटरसेप्ट UPDATE मूल तालिका के खिलाफ। यदि अद्यतन के भाग के रूप में प्राथमिक कुंजी मान बदल रहा है, तो चाइल्ड टेबल में पाई जाने वाली आश्रित पंक्तियों के लिए क्वेरी करें। विफल UPDATE यदि कोई आश्रित पंक्तियाँ चाइल्ड टेबल में पाई जाती हैं। यदि बाधा का उद्देश्य कैस्केडिंग व्यवहार का समर्थन करना है, तो असफल होने के बजाय ऐसा करें।

ध्यान दें कि आपको अपने MySQL प्रॉक्सी प्लगइन में संदर्भात्मक अखंडता बाधाओं के बारे में जानकारी रखनी होगी (या संबंधों को रिकॉर्ड करने वाले अपने प्लगइन के लिए एक कस्टम कॉन्फ़िगरेशन फ़ाइल लिखें)। आप पारंपरिक FOREIGN KEY का उपयोग नहीं कर सकते हैं MySQL इंस्टेंस में ऐसी बाधाओं को घोषित करने के लिए सिंटैक्स।



  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. टेक्स्टबॉक्स के साथ नाम के लिए डेटाग्रिड को गतिशील रूप से फ़िल्टर करें

  4. MySQL :हर दिन का योग

  5. OOP MySQLi में लूप के बिना सभी ऑब्जेक्ट प्राप्त करें