LEFT JOIN を使用した MySQL テーブルからの行の削除
質問:
2 つあります。 MySQL テーブル。1 つはジョブの期限を表し、もう 1 つはジョブを説明します。各ジョブにはステータスがあり、特定のステータスは、対応する期限行を削除する必要があることを示します。 LEFT JOIN を使用すると、条件を満たす期限とジョブの行を選択できます。ただし、これらの行を削除しようとすると、エラーが発生します。目的の削除を行うためにクエリを変更するにはどうすればよいですか?
答え:
LEFT JOIN を使用して MySQL テーブルから行を削除するには、どのテーブル( s) から削除します。発生したエラーは、この仕様の省略が原因である可能性があります。
解決策:
1.期限行のみを削除:
期限テーブルから行のみを削除するには、次のクエリを使用します:
DELETE `deadline` FROM `deadline` LEFT JOIN `job` ON deadline.job_id = job.job_id WHERE ...;
2.期限とジョブの行の両方を削除します:
期限とジョブの行の両方を削除するには、次のクエリを使用します:
DELETE `deadline`, `job` FROM `deadline` LEFT JOIN `job` ON deadline.job_id = job.job_id WHERE ...;
3.ジョブ行のみを削除:
ジョブ行のみを削除するには、次のクエリを使用します。
DELETE `job` FROM `deadline` LEFT JOIN `job` ON deadline.job_id = job.job_id WHERE ...;
いずれの場合も、... を適切な WHERE 句に置き換えます。行を削除するジョブ ステータスを指定します。
以上がLEFT JOIN を使用して MySQL テーブルから行を削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。