28.3.44 INFORMATION_SCHEMA TRIGGERS 表
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_CATALOG
The name of the catalog to which the trigger belongs. This value is always
def
. -
TRIGGER_SCHEMA
The name of the schema (database) to which the trigger belongs.
-
TRIGGER_NAME
The name of the trigger.
-
EVENT_MANIPULATION
The 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_TABLE
As noted in Section 27.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_CATALOG
value is alwaysdef
. -
ACTION_ORDER
The ordinal position of the trigger's action within the list of triggers on the same table with the same
EVENT_MANIPULATION
andACTION_TIMING
values. -
ACTION_CONDITION
This value is always
NULL
. -
ACTION_STATEMENT
The trigger body; that is, the statement executed when the trigger activates. This text uses UTF-8 encoding.
-
ACTION_ORIENTATION
This value is always
ROW
. -
ACTION_TIMING
Whether the trigger activates before or after the triggering event. The value is
BEFORE
orAFTER
. -
ACTION_REFERENCE_OLD_TABLE
This value is always
NULL
. -
ACTION_REFERENCE_NEW_TABLE
This value is always
NULL
. -
ACTION_REFERENCE_OLD_ROW
andACTION_REFERENCE_NEW_ROW
The old and new column identifiers, respectively. The
ACTION_REFERENCE_OLD_ROW
value is alwaysOLD
and theACTION_REFERENCE_NEW_ROW
value is alwaysNEW
. -
CREATED
The date and time when the trigger was created. This is a
TIMESTAMP(2)
value (with a fractional part in hundredths of seconds) for triggers. -
SQL_MODE
The SQL mode in effect when the trigger was created, and under which the trigger executes. For the permitted values, see Section 7.1.11, “Server SQL Modes”.
-
DEFINER
The account named in the
DEFINER
clause (often the user who created the trigger), in'
format.user_name
'@'host_name
' -
CHARACTER_SET_CLIENT
The session value of the
character_set_client
system variable when the trigger was created. -
COLLATION_CONNECTION
The session value of the
collation_connection
system variable when the trigger was created. -
DATABASE_COLLATION
The collation of the database with which the trigger is associated.
The following example uses the ins_sum
trigger defined in Section 27.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_ENGINE_SUBSTITUTION
DEFINER: me@localhost
CHARACTER_SET_CLIENT: utf8mb4
COLLATION_CONNECTION: utf8mb4_0900_ai_ci
DATABASE_COLLATION: utf8mb4_0900_ai_ci
Trigger information is also available from the SHOW TRIGGERS
statement. See Section 15.7.7.39, “SHOW TRIGGERS Statement”.