The TRIGGERS table provides
information about triggers. To see information about a table's
triggers, you must have the TRIGGER
privilege for the table.
The TRIGGERS table has these columns:
TRIGGER_CATALOGThe name of the catalog to which the trigger belongs. This value is always
def.TRIGGER_SCHEMAThe name of the schema (database) to which the trigger belongs.
TRIGGER_NAMEThe name of the trigger.
EVENT_MANIPULATIONThe trigger event. This is the type of operation on the associated table for which the trigger activates. The value is
INSERT(a row was inserted),DELETE(a row was deleted), orUPDATE(a row was modified).EVENT_OBJECT_CATALOG,EVENT_OBJECT_SCHEMA, andEVENT_OBJECT_TABLEAs noted in Section 23.3, “Using Triggers”, every trigger is associated with exactly one table. These columns indicate the catalog and schema (database) in which this table occurs, and the table name, respectively. The
EVENT_OBJECT_CATALOGvalue is alwaysdef.ACTION_ORDERThe ordinal position of the trigger's action within the list of triggers on the same table with the same
EVENT_MANIPULATIONandACTION_TIMINGvalues.ACTION_CONDITIONThis value is always
NULL.ACTION_STATEMENTThe trigger body; that is, the statement executed when the trigger activates. This text uses UTF-8 encoding.
ACTION_ORIENTATIONThis value is always
ROW.ACTION_TIMINGWhether the trigger activates before or after the triggering event. The value is
BEFOREorAFTER.ACTION_REFERENCE_OLD_TABLEThis value is always
NULL.ACTION_REFERENCE_NEW_TABLEThis value is always
NULL.ACTION_REFERENCE_OLD_ROWandACTION_REFERENCE_NEW_ROWThe old and new column identifiers, respectively. The
ACTION_REFERENCE_OLD_ROWvalue is alwaysOLDand theACTION_REFERENCE_NEW_ROWvalue is alwaysNEW.CREATEDThe date and time when the trigger was created. This is a
TIMESTAMP(2)value (with a fractional part in hundredths of seconds) for triggers created in MySQL 5.7.2 or later,NULLfor triggers created prior to 5.7.2.SQL_MODEThe SQL mode in effect when the trigger was created, and under which the trigger executes. For the permitted values, see Section 5.1.10, “Server SQL Modes”.
DEFINERThe account named in the
DEFINERclause (often the user who created the trigger), in'format.user_name'@'host_name'CHARACTER_SET_CLIENTThe session value of the
character_set_clientsystem variable when the trigger was created.COLLATION_CONNECTIONThe session value of the
collation_connectionsystem variable when the trigger was created.DATABASE_COLLATIONThe collation of the database with which the trigger is associated.
Example
The following example uses the ins_sum trigger
defined in Section 23.3, “Using Triggers”:
mysql> SELECT * FROM INFORMATION_SCHEMA.TRIGGERS
WHERE TRIGGER_SCHEMA='test' AND TRIGGER_NAME='ins_sum'\G
*************************** 1. row ***************************
TRIGGER_CATALOG: def
TRIGGER_SCHEMA: test
TRIGGER_NAME: ins_sum
EVENT_MANIPULATION: INSERT
EVENT_OBJECT_CATALOG: def
EVENT_OBJECT_SCHEMA: test
EVENT_OBJECT_TABLE: account
ACTION_ORDER: 1
ACTION_CONDITION: NULL
ACTION_STATEMENT: SET @sum = @sum + NEW.amount
ACTION_ORIENTATION: ROW
ACTION_TIMING: BEFORE
ACTION_REFERENCE_OLD_TABLE: NULL
ACTION_REFERENCE_NEW_TABLE: NULL
ACTION_REFERENCE_OLD_ROW: OLD
ACTION_REFERENCE_NEW_ROW: NEW
CREATED: 2018-08-08 10:10:12.61
SQL_MODE: ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,
NO_ZERO_IN_DATE,NO_ZERO_DATE,
ERROR_FOR_DIVISION_BY_ZERO,
NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
DEFINER: me@localhost
CHARACTER_SET_CLIENT: utf8
COLLATION_CONNECTION: utf8_general_ci
DATABASE_COLLATION: latin1_swedish_ci
Trigger information is also available from the
SHOW TRIGGERS statement. See
Section 13.7.5.38, “SHOW TRIGGERS Statement”.