Mam dwie tabele w następujący sposób
tbl1 tbl2
id article_id
title, image
whole_news
tags,
author,
older (datetime)
gdzie tbl1.id -> tbl2.article_id
Jak usunąć rekordy z obu tabel, w których starsze są <2008-02-10 00:00:00?
Odpowiedzi:
9 dla odpowiedzi № 1Zobacz moją odpowiedź na podobne pytanie tutaj.
Podsumowując, będzie wyglądać
delete s, r from tbl1 s left join tbl2 r on s.id = r.article_id where s.older < str_to_date("2008-02-10 00:00:00", "%Y-%m-%d %H:%i:%S");
Ale lepszym rozwiązaniem byłoby ograniczenie klucza obcego z kaskadą usuwania, jeśli jest to opcja, a następnie usunięcie z tbl1 z odpowiednią klauzulą where.
0 dla odpowiedzi nr 2
Możesz użyć wyzwalacze
0 dla odpowiedzi № 3
Najprostszy sposób: Powinieneś używać FOREIGN KEYS WITH ON DELETE CASCADE.