Buscar en la base de conocimientos
Eliminar registros de dos tablas relacionadas
Para eliminar registros de dos tablas relacionadas, puedes usar una consulta SQL con una cláusula JOIN
para unir las tablas y luego aplicar la condición en la cláusula WHERE
. Aquí te dejo la consulta:
DELETE tabla1, tabla2 FROM tabla1 JOIN tabla2 ON tabla1.id = tabla2.tipification_id WHERE tabla1.created_at < DATE_SUB(NOW(), INTERVAL x DAY);
En esta consulta:
tabla1
ytabla2
son los nombres de las tablas de las que deseas eliminar registros.tabla1.id
es el campo de la primera tabla que se utiliza para unir las tablas.tabla2.tipification_id
es el campo de la segunda tabla que se utiliza para unir las tablas.x
es el número de días que deseas considerar.created_at
es el nombre del campo que contiene la fecha de creación en la primera tabla.
Esta consulta eliminará registros de ambas tablas donde la fecha en la primera tabla (created_at
) sea anterior a la fecha actual menos x días, y donde haya una relación entre las dos tablas a través de los campos id
y tipification_id
, respectivamente.