UPDATE trigger
UPDATE trigger executes before or after the UPDATE statement is executed. You need to know the following points:
1. In the UPDATE trigger code, you can refer to a virtual table named OLD to access the previous value (before the UPDATE statement), refer to a name Access the newly updated value for NEW's virtual table;
2. In the BEFORE UPDATE trigger, the value in NEW may also be updated (allowing changes to the value to be used in the UPDATE statement);
3. The values in OLD are all read-only and cannot be updated.
The following example ensures that state abbreviations are always uppercase (regardless of whether uppercase or lowercase is given in the UPDATE statement):
Input:
create trigger updatevendor before update on vends for each row set new.vend_state = upper(new.vend_state);
Analysis: Obviously, any Data purification needs to be done before the UPDATE statement, just like in this example. Each time a row is updated, the value in NEW.vend_state (the value that will be used to update the table row) is replaced with Upper(NEW.vend_state).
Further introduction about triggers
Before ending this chapter, we will introduce some more about using triggers Important points to remember when using the device.
1. Compared with other DBMS, the triggers supported in MySQL 5 are quite rudimentary. There are plans to improve and enhance trigger support in future MySQL versions.
2. Creating a trigger may require special security access rights, however, trigger execution is automatic. If the INSERT, UPDATE, or DELETE statement can execute, the associated trigger can also execute.
3. Triggers should be used to ensure data consistency (case, format, etc.). The advantage of performing this type of processing in a trigger is that it always occurs and is performed transparently, regardless of the client application.
4. A very meaningful use of triggers is to create audit trails. Using triggers, it's very easy to log changes (even before and after states if needed) to another table.
5. Unfortunately, the CALL statement is not supported in MySQL triggers. This means that stored procedures cannot be called from within triggers. The required stored procedure code needs to be copied inside the trigger.
【Related recommendations】
2. MySQL delete trigger (delete) usage detailed explanation
3. Detailed explanation of insert trigger (insert) in MySQL
4. Introduction to mysql triggers and how to create and delete triggers
5. MySQL character set and collation order tutorial
The above is the detailed content of MySQL UPDATE trigger (update) and trigger in-depth analysis. For more information, please follow other related articles on the PHP Chinese website!