mysql
  1. mysql-after-update-trigger

AFTER UPDATE Trigger - (MySQL Triggers)

Triggers in MySQL are used to execute a set of SQL statements in response to certain events occurring in the database. In this tutorial, we'll discuss the AFTER UPDATE trigger and how it can be used in MySQL.

Syntax

The basic syntax for creating an AFTER UPDATE trigger in MySQL is as follows:

CREATE TRIGGER trigger_name
AFTER UPDATE
ON table_name
FOR EACH ROW
BEGIN
    -- SQL statements to be executed
END;

The trigger_name is any valid identifier for the new trigger, table_name is the name of the table to which the trigger is being applied, and the FOR EACH ROW clause is used to specify that the trigger should execute once for each row that is updated.

Example

Let's say we want to create a trigger to log any updates made to the employees table in our database. The trigger would insert a new row into the update_log table, recording the employee ID, the old and new values for the salary column, and the date and time of the update. Here's an example of how we could implement this:

CREATE TRIGGER log_employee_update
AFTER UPDATE
ON employees
FOR EACH ROW
BEGIN
    INSERT INTO update_log (employee_id, old_salary, new_salary, updated_at)
    VALUES (OLD.employee_id, OLD.salary, NEW.salary, NOW());
END;

In this example, we've created a trigger called log_employee_update, which is executed after an update is made to the employees table. It inserts a new row into the update_log table, recording the values of the employee_id, salary, and updated_at columns for the old and new rows.

Explanation

In the example above, we defined a trigger to log any updates made to the employees table in our database. The trigger inserts a new row into the update_log table, which records the employee ID, the old and new values for the salary column, and the date and time of the update. When an update is made to the employees table, the trigger fires and executes the SQL statements inside the BEGIN and END keywords.

Use

AFTER UPDATE triggers can be used to perform a wide variety of tasks in MySQL. Some common use cases include:

  • Logging updates made to a table
  • Updating related tables when a row is updated
  • Generating alerts or notifications when certain conditions are met

Important Points

  • AFTER UPDATE triggers execute after a row is updated in a table.
  • The OLD and NEW keywords can be used inside the trigger to access the previous and new values of the row being updated.
  • The FOR EACH ROW clause is used to specify that the trigger should execute once for each row that is updated.

Summary

In this tutorial, we discussed the syntax and example of an AFTER UPDATE trigger in MySQL. We also explained the explanation, use, and important points of AFTER UPDATE triggers in MySQL. With this knowledge, you can now use AFTER UPDATE triggers in your MySQL applications to perform various tasks based on data changes in your tables.

Published on: