2014-05-22 28 views
0

我有一個包含多個表的數據庫,我只是想從任何具有值爲'2'的字段'id_shop'的表中刪除所有行我可以用MySQL來做到這一點,而不必在查詢中列出所有表名稱?如何通過某個where子句刪除多個表中的行

感謝

+0

這已經回答了。 http://stackoverflow.com/questions/3331992/how-to-delete-from-multiple-tables-in-mysql 基本上沒有。 –

+0

我想補充...有很好的理由。如果您已經定義了級聯刪除,那麼RDBMS會知道如何去做,並且可以在刪除商店時爲您做到。但沒有這些,你不能從一堆表中刪除。您可能在表格中包含外鍵和依賴關係。您需要找出執行刪除的正確順序。如果經常發生,請編寫腳本或存儲過程,以便重用它;) – Frazz

回答

0

這將工作:

Delete a,b,c From tb1 a 
Inner join tb2 b 
On (a.id=b.id) 
Inner join tb3 c 
On (b.id=c.id)