Using Triggers Section 12.16, “Information Functions” ). The effect of a stored routine or trigger upon the value of LAST_INSERT_ID()  that is seen by following statements depends on the kind of routine: A trigger is a named database object that is associated with a table, and that activates when a particular event occurs for the table. Some uses for triggers are to perform checks of values to be inserted into a table or to perform calculations on values involved in an update. A trigger is defined to activate when a statement inserts, updates, or deletes rows in the associated table. These row operations are trigger events. For example, rows can be inserted by  INSERT  or  LOAD DATA statements, and an insert trigger activates for each inserted row. A trigger can be set to activate either before or after the trigger event. For example, you can have a trigger activate before each row that is inserted into a table or after each row that is updated. MySQL triggers activate only for changes made to tables by SQL statements. This includes changes to base tables that underlie updatable views. Triggers do not activate for changes to tables made by APIs that do not transmit SQL statements to the MySQL Server. This means that triggers are not activated by updates made using the  NDB  API. Triggers are not activated by changes in  INFORMATION_SCHEMA  or performance_schema  tables. Those tables are actually views and triggers are not permitted on views. The following sections describe the syntax for creating and dropping triggers, show some examples of how to use them, and indicate how to obtain trigger metadata. To create a trigger or drop a trigger, use the  CREATE TRIGGER  or  DROP TRIGGER  statement, described in Section 13.1.22, “CREATE TRIGGER Statement” , and Section 13.1.34, “DROP TRIGGER Statement” . Here is a simple example that associates a trigger with a table, to activate for  INSERT  operations. The trigger acts as an accumulator, summing the values inserted into one of the columns of the table. mysql>  CREATE TABLE account (acct_num INT, amount DECIMAL(10,2)); Query OK, 0 rows affected (0.03 sec) 4732 25.3.1 Trigger Syntax and Examples Additional Resources Important 25.3 Using Triggers •If a stored procedure executes statements that change the value of  LAST_INSERT_ID() , the changed value is seen by statements that follow the procedure call. •For stored functions and triggers that change the value, the value is restored when the function or trigger ends, so following statements do not see a changed value. •You may find the Triggers User Forum of use when working with triggers. •For answers to commonly asked questions regarding triggers in MySQL, see Section A.5, “MySQL 8.0 FAQ: Triggers” . •There are some restrictions on the use of triggers; see Section 25.8, “Restrictions on Stored Programs” . •Binary logging for triggers takes place as described in Section 25.7, “Stored Program Binary Logging” .