मुझे किसी विशेष डेटाबेस से सभी बाधाओं की सूची कैसे प्राप्त हो सकती है?MySQL डेटाबेस से बाधाओं की सूची
उत्तर
बाधाओं प्रत्येक मेज पर परिभाषित के नाम पाने के लिए information_schema.table_constraints
तालिका का उपयोग करें:
select *
from information_schema.key_column_usage
where constraint_schema = 'YOUR_DB'
हैं:
select *
from information_schema.table_constraints
where constraint_schema = 'YOUR_DB'
उपयोग information_schema.key_column_usage
तालिका उन बाध्यताओं से हर एक में खेतों प्राप्त करने के लिए इसके बजाय आप विदेशी कुंजी बाधाओं के बारे में बात कर रहे हैं, information_schema.referential_constraints
का उपयोग करें:
select *
from information_schema.referential_constraints
where constraint_schema = 'YOUR_DB'
इस सूची में केवल अद्वितीय, प्राथमिक कुंजी, या विदेशी कुंजी बाधाएं शामिल होंगी। जांच संभव है, लेकिन लागू नहीं है। इस क्वेरी का उपयोग करके डिफॉल्ट बाधाएं दिखाई नहीं देगी। –
MySQL चेक बाधाओं को स्टोर नहीं करता है। यदि आप एक को परिभाषित करने का प्रयास करते हैं, तो यह पार्स और चुपचाप इसे छोड़ देता है। –
DEFAULT मान एक बाधा के रूप में नहीं गिना जाता है। यह 'info_schema.columns.column_default' में संग्रहीत है। –
@Senseपूर्ण द्वारा शानदार उत्तर।
मैं जो केवल बाधा नाम (और नहीं अन्य विवरण/कॉलम) की सूची के लिए देख रहे लोगों के लिए संशोधित क्वेरी पेश कर रहा हूँ:
SELECT DISTINCT(constraint_name)
FROM information_schema.table_constraints
WHERE constraint_schema = 'YOUR_DB'
ORDER BY constraint_name ASC;
यदि आपको इसे खोजने के बाद एक को हटाने की आवश्यकता है, तो यहां देखें http://stackoverflow.com/a/838412/2401804 – r3wt
चयन USER_CONSTRAINTS से * कहां TABLE_NAME = "tabnam";
यह वास्तव में मदद करता है, तो आप इस तरह के ON_UPDATE और ON_DELETE और स्तंभ और विदेशी स्तंभ नाम के रूप में उन बाधाओं के चारों ओर सब एक साथ प्राथमिक और विदेशी कुंजी की कमी के साथ-साथ नियम देखना चाहते हैं:
SELECT tc.constraint_schema,tc.constraint_name,tc.table_name,tc.constraint_type,kcu.table_name,kcu.column_name,kcu.referenced_table_name,kcu.referenced_column_name,rc.update_rule,rc.delete_rule
FROM information_schema.table_constraints tc
inner JOIN information_schema.key_column_usage kcu
ON tc.constraint_catalog = kcu.constraint_catalog
AND tc.constraint_schema = kcu.constraint_schema
AND tc.constraint_name = kcu.constraint_name
AND tc.table_name = kcu.table_name
LEFT JOIN information_schema.referential_constraints rc
ON tc.constraint_catalog = rc.constraint_catalog
AND tc.constraint_schema = rc.constraint_schema
AND tc.constraint_name = rc.constraint_name
AND tc.table_name = rc.table_name
WHERE tc.constraint_schema = 'my_db_name'
तुम भी चाहते हो सकता है उन कॉलमों के बारे में कुछ और जानकारी जोड़ने के लिए, बस इसे SQL में जोड़ें (और इच्छित कॉलम चुनें):
LEFT JOIN information_schema.COLUMNS c
ON kcu.constraint_schema = c.table_schema
AND kcu.table_name = c.table_name
AND kcu.column_name = c.column_name
- 1. MySQL डेटाबेस में गैर-खाली तालिकाओं की सूची
- 2. क्या रेल को डेटाबेस-स्तरीय बाधाओं की आवश्यकता है?
- 3. एक mysql डेटाबेस से किसी अन्य mysql डेटाबेस
- 4. पायथन ऑब्जेक्ट डेटाबेस की सूची
- 5. MySQL: कॉलम में शब्दों की सूची से शब्द शामिल है
- 6. एंड्रॉइड - MySQL डेटाबेस से कनेक्ट
- 7. PHP/MySQL विश्वविद्यालय निर्देशांक की सूची
- 8. MySQL डेटाबेस
- 9. MySQL डेटाबेस
- 10. MySQL डेटाबेस
- 11. MySQL डेटाबेस
- 12. mysql डेटाबेस
- 13. mysql डेटाबेस से उत्पादडेटा प्राप्त करने की आवश्यकता
- 14. mySQL डेटाबेस
- 15. mysql डेटाबेस
- 16. MySQL डेटाबेस
- 17. MySql - डेटाबेस
- 18. MySQL डेटाबेस
- 19. बाधाओं
- 20. Mysql: डेटाबेस
- 21. MySQL डेटाबेस सामान्यीकरण
- 22. अंग्रेजी शब्दों का MySQL डेटाबेस?
- 23. MySQL क्वेरी मानों की एक सूची
- 24. डेटाबेस की सूची प्राप्त करें चयनित सर्वर
- 25. MongoDB: सभी डेटाबेस की सूची प्राप्त करना?
- 26. सर्वश्रेष्ठ अभ्यास की सूची MySQL डेटा प्रकार
- 27. MySQL से PostgreSQL
- 28. बाधाओं को अक्षम करें अस्थायी रूप से
- 29. MySQL बड़े डेटाबेस से डुप्लिकेट हटाएं त्वरित
- 30. आईओएस एक्सकोड MySQL डेटाबेस से कनेक्ट
MySQL में एक से अधिक प्रकार की बाधा है। तुम्हारा क्या मतलब है? क्या आप उस चीज का उदाहरण दे सकते हैं जिसे आप ढूंढ रहे हैं? –