/ / Видалити з двох таблиць з приєднанням? - mysql

Видалити з двох таблиць з приєднанням? - mysql

У мене є дві таблиці, як показано нижче

tbl1              tbl2
id                article_id
title,            image
whole_news
tags,
author,
older (datetime)

де tbl1.id -> tbl2.article_id

Як видалити записи з обох таблиць, де старше <2008-02-10 00:00:00?

Відповіді:

9 для відповіді № 1

Подивіться мою відповідь на подібне питання тут.

Підбиваючи підсумок, це буде виглядати

 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");

Але кращим рішенням буде зовнішнє обмеження ключа з каскадом видалення, якщо це варіант, то просто видаліть з tbl1 з відповідним депозитом.


0 для відповіді № 2

Ви можете використовувати тригери


0 для відповіді № 3

Найпростіший спосіб: Ви повинні використовувати ЗОВНІШНІ КЛІТИИ за допомогою DELETE CASCADE.