我有兩個表如下從兩個加入表中刪除?
tbl1 tbl2
id article_id
title, image
whole_news
tags,
author,
older (datetime)
其中tbl1.id - > tbl2.article_id
如何刪除兩個表中的較舊的< 2008-02-10 00:00:00記錄?
我有兩個表如下從兩個加入表中刪除?
tbl1 tbl2
id article_id
title, image
whole_news
tags,
author,
older (datetime)
其中tbl1.id - > tbl2.article_id
如何刪除兩個表中的較舊的< 2008-02-10 00:00:00記錄?
查看我對類似問題的回答here。
總之,它看起來像
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刪除與適當的where子句。
您可以使用triggers
觸發器是在表級別正確執行數據關係的糟糕解決方案。如果數據完整性是一個問題,我建議在使用觸發器之前轉移到InnoDB。 – bot403 2011-02-08 15:57:30