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

ON DELETE CASCADE制約はどのような順序で処理されますか?

    より単純なケースでは、レコードが子から削除され、参照している叔父がいる場合はどうなりますか?それは指定されていないので、とにかく制約は失敗します。

    子を削除してもその叔父が削除されない場合、代わりに何が起こりますか? Uncle.childidをnullにすることはできません。

    必要なのは、次の3つのうちの1つです。

    1. Uncle.childidはnullにすることができ、childidにはON DELETESETNULLが必要です。
    2. Uncle.childidをnullにすることはできません。また、childidにONDELETECASCADEが必要です。
    3. ChildidはUncleに属していないため、ChildとUncleの両方に対するONDELETECASCADE外部キー制約を持つChildsUncle関係が必要です。 Uncleidは、その関係の候補キーになります(つまり、一意である必要があります)。


    1. JDBC Select batching / fetch-size with MySQL

    2. mysqlのすべてのテーブルからすべての行を空にする方法(SQL)

    3. SQL ServerのCAST()とTRY_CAST():違いは何ですか?

    4. OrderBy句を使用したMySQLのランク関数