एक MySQL डेटाबेस में सभी ट्रिगर्स को सूचीबद्ध करने का आदेश क्या है?आप MySQL डेटाबेस में सभी ट्रिगर कैसे सूचीबद्ध करते हैं?
उत्तर
आदेश है:
show triggers
या आपके द्वारा सीधे INFORMATION_SCHEMA
तालिका को एक्सेस कर सकते हैं:
select trigger_schema, trigger_name, action_statement
from information_schema.triggers
- आप के बाद संस्करण 5.0.10 से ऐसा कर सकते हैं।
TRIGGERS
table is here के बारे में - में अधिक जानकारी।
एक विशेष स्कीमा में एक विशेष ट्रिगर दिखा आप निम्नलिखित कोशिश कर सकते हैं के लिए:
select * from information_schema.triggers where
information_schema.triggers.trigger_name like '%trigger_name%' and
information_schema.triggers.trigger_schema like '%data_base_name%'
आप किसी खास ट्रिगर परिभाषा जानने के लिए नीचे का उपयोग कर सकते हैं।
SHOW TRIGGERS LIKE '%trigger_name%'\G
या डेटाबेस में सभी ट्रिगर्स दिखाने के लिए नीचे। यह MySQL 5.0 और उसके बाद के लिए काम करेगा।
SHOW TRIGGERS\G
मुझे उम्मीद है कि निम्नलिखित कोड आपको अधिक जानकारी देगा।
select * from information_schema.triggers where
information_schema.triggers.trigger_schema like '%your_db_name%'
यह आपको 22 कॉलम कुल MySQL संस्करण में दे देंगे: 5.5.27 और
ऊपरTRIGGER_CATALOG
TRIGGER_SCHEMA
TRIGGER_NAME
EVENT_MANIPULATION
EVENT_OBJECT_CATALOG
EVENT_OBJECT_SCHEMA
EVENT_OBJECT_TABLE
ACTION_ORDER
ACTION_CONDITION
ACTION_STATEMENT
ACTION_ORIENTATION
ACTION_TIMING
ACTION_REFERENCE_OLD_TABLE
ACTION_REFERENCE_NEW_TABLE
ACTION_REFERENCE_OLD_ROW
ACTION_REFERENCE_NEW_ROW
CREATED
SQL_MODE
DEFINER
CHARACTER_SET_CLIENT
COLLATION_CONNECTION
DATABASE_COLLATION
स्कीमा से निपटने के दौरान मैं 'LIKE' का उपयोग करने से बचूंगा। मैंने वातावरण में काम किया है जहां ऐसा करने से त्रुटि प्रवण होगी जहां एक ग्राहक के पास "कंपनी" नामक डेटाबेस था और दूसरा नाम "company_project" था। मैं स्पष्टता और INFORMATION_SCHEMA और कॉलम के लिए कुंजीशब्दों को कैपिटल करने का भी सुझाव दूंगा, इसलिए यह स्पष्ट है कि आप नियमित डीबी से निपट नहीं रहे हैं। – AndrewWhalan
मैं "दिखाएं चलाता है" क्वेरी का उपयोग कर के बजाय सीधे INFORMATION_SCHEMA तक पहुँचने के साथ जा सलाह देते हैं - सर्वर पर हजारों से अधिक डेटाबेस होने के बाद उत्तरार्द्ध बहुत धीमा हो जाएगा जबकि "शो ट्रिगर" अभी भी एक उत्कृष्ट प्रदर्शन है। –
धन्यवाद fpr दूसरा "जटिल" संस्करण। पहले मेजबानों में से किसी एक पर काम नहीं करता है (रेजन को नहीं जानते) ... – userlond
ध्यान दें कि 'दिखाएं ट्राइगर्स' की आवश्यकता है कि आपके पास उस डेटाबेस और तालिका के लिए 'TRIGGER' विशेषाधिकार है। यदि आप एक अनधिकृत उपयोगकर्ता के साथ MySQL में लॉगिन करते हैं, तो 'शो ट्रिगर' निष्पादित करने से त्रुटि को फेंकने के बजाय कुछ भी नहीं बदलेगा। अगर आप विशेषाधिकार की आवश्यकता से अवगत नहीं हैं तो यह भ्रमित हो सकता है। –