Bir MySQL veritabanındaki tüm tetikleyicileri listeleme komutu nedir?
Yanıtlar:
Tüm tetikleyicileri listeleme komutu şudur:
show triggers;
veya INFORMATION_SCHEMAtabloya doğrudan şu şekilde erişebilirsiniz :
select trigger_schema, trigger_name, action_statement
from information_schema.triggers
TRIGGERSTablo hakkında daha fazla bilgi burada .SHOW TRIGGERSsahip olmanızı gerektirdiğini unutmayın TRIGGER. MySQL'e ayrıcalıklı olmayan bir kullanıcıyla giriş yaparsanız, yürütme SHOW TRIGGERSbir 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.