ホームページ > データベース > mysql チュートリアル > ID の不一致に基づいて MySQL の孤立した行を削除するにはどうすればよいですか?

ID の不一致に基づいて MySQL の孤立した行を削除するにはどうすればよいですか?

Linda Hamilton
リリース: 2025-01-24 22:31:13
オリジナル
907 人が閲覧しました

How to Delete Orphaned Rows in MySQL Based on Mismatched IDs?

ID の不一致に基づいて MySQL 行を削除します

別のテーブルに対応する ID がない MySQL テーブルのエントリを削除するには、次の方法に従います:

左結合を使用/IS NULL

BLOB b から b を削除
ファイルを左結合 f ON f.id = b.fileid
f.id が NULL の場所

このクエリは LEFT JOIN を使用して、「BLOB」テーブルと「FILES」テーブルの間の行を照合します。 「FILES」の対応する「id」列が NULL (孤立エントリの存在を示す) である「BLOB」の行を削除します。

使用は存在しません

BLOB から削除
存在しない場合(NULL を選択
ファイルから f
WHERE f.id = ファイル ID)

このクエリはサブクエリを使用して、「BLOB」の各行に「FILES」に一致する行があるかどうかを確認します。一致するものがない場合、外部クエリは「BLOB」から行を削除します。

使用しないでください

BLOB から削除
WHERE fileid NOT IN (SELECT f.id
ファイルから f)

このクエリは、NOT IN 演算子を使用して、"fileid" 値が "FILES" テーブルに存在しない "BLOB" テーブル内の行を識別し、孤立したエントリを効果的に削除します。

注意

DELETE 操作を実行するとき、データベース エンジンがトランザクションをサポートしている場合 (例: MyISAM ではない場合)、トランザクションの使用を検討してください。これにより、エラーが発生した場合に変更をロールバックできます。

以上がID の不一致に基づいて MySQL の孤立した行を削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート