ホームページ >データベース >mysql チュートリアル >MySQL LEFT JOIN と DELETE 構文を使用して行を削除するにはどうすればよいですか?

MySQL LEFT JOIN と DELETE 構文を使用して行を削除するにはどうすればよいですか?

DDD
DDDオリジナル
2024-12-01 19:49:10947ブラウズ

How to Delete Rows Using MySQL LEFT JOIN with DELETE Syntax?

MySQL LEFT JOIN による行の削除

問題:

2 つのテーブルがあります。 1 つは仕事の締め切りに関するもの、もう 1 つは仕事の説明に関するものです。ジョブ記述テーブルのステータスに基づいて、期限エントリを削除する必要があります。選択に 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。