ホームページ > データベース > mysql チュートリアル > 複数の MySQL テーブルからレコードを安全に削除するにはどうすればよいですか?

複数の MySQL テーブルからレコードを安全に削除するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2025-01-19 10:37:09
オリジナル
272 人が閲覧しました

How to Safely Delete Records from Multiple MySQL Tables?

MySQL マルチテーブルのレコードの安全な削除

次のコードを直接使用して複数のテーブルから行を同時に削除すると、エラーが発生する可能性があります:

DELETE FROM `pets` p,
            `pets_activities` pa
      WHERE p.`order` > :order
        AND p.`pet_id` = :pet_id
        AND pa.`id` = p.`pet_id`
ログイン後にコピー

推奨される解決策は、JOIN ステートメントを使用することです。

DELETE p, pa
      FROM pets p
      JOIN pets_activities pa ON pa.id = p.pet_id
     WHERE p.order > :order
       AND p.pet_id = :pet_id
ログイン後にコピー

または、pets_activities テーブルを参照しながら pets テーブル内のレコードを削除することもできます。

DELETE pa
      FROM pets_activities pa
      JOIN pets p ON pa.id = p.pet_id
 WHERE p.order > :order
   AND p.pet_id = :pet_id
ログイン後にコピー

このアプローチでは、FROM 句でエイリアスを使用して削除するテーブルを指定します。これは、参照整合性を伴う複雑なシナリオを扱う場合に特に役立ちます。

以上が複数の MySQL テーブルからレコードを安全に削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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