sql >> データベース >  >> RDS >> PostgreSQL

PostgreSQL:外部キー/オン削除カスケード

    カスケード削除のある外部キーは、親テーブルのレコードが削除されると、子テーブルの対応するレコードが自動的に削除されることを意味します。これはカスケード削除と呼ばれます。

    逆に言っているのは、子テーブルから削除すると、レコードが親テーブルから削除されるということではありません。

    UPDATE 1:
    

    カスケードを削除する オプションは、対応する行が親テーブルで削除されたときに、子テーブルで行を削除するかどうかを指定することです。カスケード削除を指定しない場合、データベースサーバーのデフォルトの動作により、他のテーブルがデータを参照している場合にテーブル内のデータを削除できなくなります。

    このオプションを指定すると、後で親テーブルの行を削除するときに、データベースサーバーは子テーブルのその行に関連付けられているすべての行(外部キー)も削除します。カスケード削除機能の主な利点は、削除アクションを実行するために必要なSQLステートメントの量を減らすことができることです。

    つまり、子テーブルからではなく親テーブルから行を削除するとどうなるかがすべてです。

    したがって、ユーザーがCATsテーブルからエントリを削除すると、booksテーブルから行が削除されます。 :)

    これがお役に立てば幸いです:)



    1. MySQLのパフォーマンス:長いクエリの識別

    2. OracleのDBTIMEZONE関数

    3. 内部クエリを使用したORDERBY、ORA-00907に右括弧がありません

    4. 最適化のしきい値–データのグループ化と集約、パート5