Bir MySQL veritabanındaki tüm tetikleyicileri listeleme komutu nedir?
Yanıtlar:
Tüm tetikleyicileri listeleme komutu şudur:
show triggers;
veya INFORMATION_SCHEMA
tabloya doğrudan şu şekilde erişebilirsiniz :
select trigger_schema, trigger_name, action_statement
from information_schema.triggers
TRIGGERS
Tablo hakkında daha fazla bilgi burada .SHOW TRIGGERS
sahip olmanızı gerektirdiğini unutmayın TRIGGER
. MySQL'e ayrıcalıklı olmayan bir kullanıcıyla giriş yaparsanız, yürütme SHOW TRIGGERS
bir hata atmak yerine hiçbir şey döndürmez. Ayrıcalık gereksiniminin farkında değilseniz bu kafa karıştırıcı olabilir.
Umarım aşağıdaki kod size daha fazla bilgi verir.
select * from information_schema.triggers where
information_schema.triggers.trigger_schema like '%your_db_name%'
Bu size MySQL sürümünde toplam 22 Sütun verecektir : 5.5.27 ve Üstü
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
Şema ile uğraşırken kullanmaktan kaçınırım . Bir müşterinin "şirket" ve başka bir "şirket_projesi" adlı bir veritabanına sahip olduğu, bu şekilde yapmanın hataya açık olduğu ortamlarda çalıştım. Ayrıca, anlaşılırlık ve INFORMATION_SCHEMA için KEYWORDS'ü ve oradaki sütunları büyük harfle yazmanızı öneririm, böylece normal bir DB ile uğraşmadığınız açıktır.