No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Curso de Bases de Datos con MySQL y MariaDB

Curso de Bases de Datos con MySQL y MariaDB

Carlos Eduardo G贸mez Garc铆a

Carlos Eduardo G贸mez Garc铆a

Triggers compuestos

32/34
Recursos

Aportes 5

Preguntas 9

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

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!!

Si no se usa FK se puede hacer igual?

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 ;