sql >> Base de Datos >  >> Database Tools >> phpMyAdmin

Actualización automática de acciones en la base de datos Mysql

Lo que está preguntando no es técnicamente una "relación" en el sentido técnico cuando se refiere a bases de datos relacionales. Tales relaciones son cosas como tener una tabla que se refiere a la "clave" de otra tabla, por ejemplo, relacionar una tabla con la dirección de un cliente con otra tabla con el pedido del cliente. De todos modos, eso está más allá del alcance de lo que preguntó, por lo que para responder a su pregunta, puede hacerlo en el código de la aplicación o en un disparador.

Los disparadores son funciones de la base de datos que hacen algo cuando ocurre una INSERCIÓN, ACTUALIZACIÓN o ELIMINACIÓN.

Algo como esto debería funcionar bien con ajustes menores para los nombres de tablas/columnas:

UPDATE table2 SET inventory = inventory - NEW.qty where id = NEW.id_product;

Ahora eso solo cubre un INSERTAR; deseará crear otro disparador para la ACTUALIZACIÓN del evento y probablemente también maneje de alguna manera el inventario devuelto o los pedidos cancelados, pero eso es algo que probablemente manejará en el nivel de la aplicación en lugar de en un disparador.