How do you list all triggers in a MySQL database?

前端 未结 4 607
攒了一身酷
攒了一身酷 2020-12-23 08:52

What is the command to list all triggers in a MySQL database?

相关标签:
4条回答
  • 2020-12-23 09:22

    For showing a particular trigger in a particular schema you can try the following:

    select * from information_schema.triggers where 
    information_schema.triggers.trigger_name like '%trigger_name%' and 
    information_schema.triggers.trigger_schema like '%data_base_name%'
    
    0 讨论(0)
  • 2020-12-23 09:25

    You can use below to find a particular trigger definition.

    SHOW TRIGGERS LIKE '%trigger_name%'\G
    

    or the below to show all the triggers in the database. It will work for MySQL 5.0 and above.

    SHOW TRIGGERS\G
    
    0 讨论(0)
  • 2020-12-23 09:29

    I hope following code will give you more information.

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

    This will give you total 22 Columns in MySQL version: 5.5.27 and Above

    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
    
    0 讨论(0)
  • 2020-12-23 09:38

    The command for listing all triggers is:

    show triggers;
    

    or you can access the INFORMATION_SCHEMA table directly by:

    select trigger_schema, trigger_name, action_statement
    from information_schema.triggers
    
    • You can do this from version 5.0.10 onwards.
    • More information about the TRIGGERS table is here.
    0 讨论(0)
提交回复
热议问题