আপনি কীভাবে একটি মাইএসকিউএল ডাটাবেসে সমস্ত ট্রিগার তালিকাভুক্ত করবেন?


102

মাইএসকিউএল ডাটাবেসে সমস্ত ট্রিগার তালিকাভুক্ত করার আদেশ কী?

উত্তর:


154

সমস্ত ট্রিগার তালিকার জন্য আদেশটি হ'ল:

show triggers;

অথবা আপনি INFORMATION_SCHEMAসরাসরি টেবিলটি অ্যাক্সেস করতে পারেন :

select trigger_schema, trigger_name, action_statement
from information_schema.triggers
  • আপনি 5.0.10 সংস্করণ থেকে এটি করতে পারেন।
  • TRIGGERSটেবিল সম্পর্কে আরও তথ্য এখানে ।

4
আমি সরাসরি তথ্য_স্কেমার অ্যাক্সেসের পরিবর্তে "ট্রিগারগুলি দেখান" ক্যোয়ারীটি ব্যবহার করার পরামর্শ দিই - সার্ভারে আপনার কাছে হাজারেরও বেশি ডাটাবেস থাকলে একবার "ট্র্যাগারগুলি দেখান" এর অসামান্য পারফরম্যান্স থাকার পরে খুব ধীর হয়ে যাবে।
— মার্টিন তাজুর

ধন্যবাদ এফপিআর দ্বিতীয় "জটিল" সংস্করণ। প্রথমটি কোনও একটি হোস্টে (পরিবর্তনটি জানেন না) কাজ করে না ...
— ইউজারলন্ড

4
নোট করুন যে আপনার SHOW TRIGGERSপ্রয়োজন যে TRIGGERসেই ডাটাবেস এবং সারণীর জন্য অধিকার আছে । আপনি যদি একটি অনিবদ্ধ ব্যবহারকারীর সাথে মাইএসকিউএল এ লগইন করেন তবে এক্সিকিউট করা SHOW TRIGGERSত্রুটি ছুঁড়ে ফেলার পরিবর্তে কিছুই ফিরিয়ে দেয় না। আপনি সুবিধাগুলির প্রয়োজনীয়তা সম্পর্কে সচেতন না হলে এটি বিভ্রান্তিকর হতে পারে।
— ক্রিস্টোফার শুল্টজ

14

আমি আশা করি নিম্নলিখিত কোডগুলি আপনাকে আরও তথ্য দেবে।

select * from information_schema.triggers where 
information_schema.triggers.trigger_schema like '%your_db_name%'

এটি আপনাকে মাইএসকিউএল সংস্করণে মোট 22 টি কলাম দেয় : 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

4
আমি LIKEস্কিমা নিয়ে কাজ করার সময় ব্যবহার করা এড়াতে চাই । আমি এমন পরিবেশে কাজ করেছি যেখানে এটি করা ত্রুটিযুক্ত প্রবণতা হবে যেখানে ক্লায়েন্টের "কোম্পানী" নামক একটি ডাটাবেস এবং অন্যটি "Company_project" নামে পরিচিত ছিল। আমি স্পষ্টতা এবং INFORMATION_SCHEMA এবং সেখানকার কলামগুলিতে KEYWORDS কে মূলধন করার পরামর্শ দিচ্ছি যাতে এটি স্পষ্ট হয় যে আপনি একটি নিয়মিত ডিবি নিয়ে কাজ করছেন না।
— অ্যান্ড্রুওয়ালান

13

আপনি একটি নির্দিষ্ট ট্রিগার সংজ্ঞা পেতে নীচে ব্যবহার করতে পারেন।

SHOW TRIGGERS LIKE '%trigger_name%'\G

বা ডাটাবেসে সমস্ত ট্রিগার দেখানোর জন্য নীচে এটি মাইএসকিউএল 5.0 এবং তারপরের জন্য কাজ করবে।

SHOW TRIGGERS\G

9

একটি বিশেষ স্কিমাতে একটি নির্দিষ্ট ট্রিগার দেখানোর জন্য আপনি নিম্নলিখিতগুলি চেষ্টা করতে পারেন:

select * from information_schema.triggers where 
information_schema.triggers.trigger_name like '%trigger_name%' and 
information_schema.triggers.trigger_schema like '%data_base_name%'
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.