使用MySQL LEFT JOIN 刪除行
問題:
您有兩個表:一個一個用於工作截止日期,另一個用於工作說明。您需要根據職位描述表中的狀態刪除截止日期條目。使用 LEFT JOIN 進行選擇可以,但執行 DELETE 會引發語法錯誤。
選擇查詢:
SELECT * FROM `deadline` LEFT JOIN `job` ON deadline.job_id = job.job_id WHERE `status` = 'szamlazva' OR `status` = 'szamlazhato' OR `status` = 'fizetve' OR `status` = 'szallitva' OR `status` = 'storno'
解決方案:
要執行DELETE操作,必須明確指定要刪除操作行的表從。以下是可能的選項:
只刪除截止日期行:
DELETE `deadline` FROM `deadline` LEFT JOIN `job` ....
刪除截止日期和作業行:
DELETE `deadline`, `job` FROM `deadline` LEFT JOIN `job` ....
僅刪除作業行:
DELETE `job` FROM `deadline` LEFT JOIN `job` ....
透過在 DELETE 語句中指定正確的表,您可以根據作業描述表中的狀態成功刪除所需的行。
以上是如何使用 MySQL LEFT JOIN 和 DELETE 語法刪除資料列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!