Pero me podrias explicar que hacen los triggers, e leido y no me keda claro. Podrias ponerme un ejemplo?
Los
triggers son una sentencia de codigo que se dispara al generar cambio en una tabla, en el caso eliminar(DELETE), actualizar(UPDATE) o insertar(INSERT) registros en una tabla.
Pensa que tenes una aplicacion donde se registran nuevos usuarios y queres tener una tabla aparte para saber los ultimos que se registraron.. tu aplicacion al momento del registro de un nuevo usuario lo hace de la siguiente manera..
INSERT INTO usuarios (nombre, email)
VALUES ('pepito', 'pepito@hotmail.com')
Entonces utilizas un
trigger al momento en que inserta un nuevo usuario en la tabla..
DELIMITER $$ --Determinamos el inicio de nuestro trigger
CREATE TRIGGER nuevo_usuario --Nuestro trigger se llamara nuevo_usuario
BEFORE INSERT ON usuarios --El trigger se dispara antes de que inserte un nuevo usuario
FOR EACH ROW --Por cada fila afectada
BEGIN
--Aqui creamos un nuevo registro en la tabla seguimiento_usuarios
--Existen claves como OLD y NEW, para usar el valor antiguo o
--su nuevo valor..
INSERT INTO seguimiento_usuarios (nombre_usuario, texto)
VALUES (NEW.nombre, 'Un nuevo usuario se registro.');
END$$ --Fin
Segun cada motor de base de datos difiere en su sintaxys pero el uso es el mismo.. por ultimo te recomiendo para seguir leyendo..
https://dev.mysql.com/doc/refman/5.0/es/using-triggers.html