No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

No se trata de lo que quieres comprar, sino de quién quieres ser. Invierte en tu educación con el precio especial

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

12 Días
10 Hrs
35 Min
23 Seg

Triggers compuestos

32/34
Recursos

Aportes 8

Preguntas 9

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Agregue in IF para que valide si el campo que fue modificado es el de status y no haga un intento fallido al actualizar otro campo.

USE metro_cdmx;

DELIMITER //
CREATE TRIGGER update_active_driverr
AFTER UPDATE
ON `drivers`
FOR EACH ROW
BEGIN

  IF NEW.status != OLD.status THEN
    IF NEW.status = 1 THEN 
      INSERT INTO `active_drivers` (driver_id) VALUES (NEW.id);
    ELSE
      DELETE FROM `active_drivers` WHERE driver_id = NEW.id;
    END IF;
  END IF;


END; //

Algo que me ha ayudado muchisimo para los errores es poner el codigo en MySql y literalmente te dice que estaba mal por que aveces me faltaba una coma y si eran largos era dificil con la terminal, me ayudo espero a alguien le sirva

Gracias a Angie por el aporte!!

Buena clase. La que mas me gustó

Si no se usa FK se puede hacer igual?

y que pas'o con la Foreing Key?
A estas altura del curso ya empieza a imaginar uno casos de uso, realmente los triggers parecen ser muy importantes en el funcionamiento de nuestros programas
USE metro_cdmx;

DELIMITER //
CREATE TRIGGER update_active_drivers
AFTER UPDATE 
ON `drivers`
FOR EACH ROW
BEGIN

    IF NEW.status = 1 THEN
        INSERT INTO `active_drivers` (driver_id) VALUES (NEW.id);

    ELSE
        DELETE FROM `active_drivers` WHERE driver_id = NEW.id;

    END IF;

END; //
 DELIMITER ;