使用公共欄位關聯的多個資料表時,可能需要刪除有關使用者的資訊同時從所有表中。此查詢不是執行多個 DELETE 語句,而是探索在單一查詢中執行刪除的可能性。
建議的查詢涉及使用多個以分號分隔的 DELETE 語句:
DELETE FROM table1 WHERE user_id='$user_id'; DELETE FROM table2 WHERE user_id='$user_id'; DELETE FROM table3 WHERE user_id='$user_id'; DELETE FROM table4 WHERE user_id='$user_id';
但是,根據 MySQL 文檔,這不是最佳方法。文件建議使用以下語法:
DELETE t1, t2 FROM t1 INNER JOIN t2 INNER JOIN t3 WHERE t1.id=t2.id AND t2.id=t3.id;
此查詢允許根據 WHERE 子句中的指定條件從多個表中刪除行。在本例中,條件為 t1.user_id='$user_id'。
利用此方法可以簡化刪除過程,並確保同時刪除所有相關表中的資料。
以上是如何透過一次查詢高效刪除多個MySQL表中的資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!