'a'と'b'の2つのテーブルがあるとしましょう。'a'と'b'の関係は1対多です。両方のテーブルにフィールドを持たせますstatus
。このフィールドの値は「アクティブ」および「非アクティブ」です。フィールドを「非アクティブ」に設定した場合、MySQLには、値status
を変更した行に関連付けられているすべてのテーブルにこれをカスケードする方法がありますか?status
それとも、これはプログラムレベルで行う必要がありますか?
これが明確でない場合はお知らせください。
'a'と'b'の2つのテーブルがあるとしましょう。'a'と'b'の関係は1対多です。両方のテーブルにフィールドを持たせますstatus
。このフィールドの値は「アクティブ」および「非アクティブ」です。フィールドを「非アクティブ」に設定した場合、MySQLには、値status
を変更した行に関連付けられているすべてのテーブルにこれをカスケードする方法がありますか?status
それとも、これはプログラムレベルで行う必要がありますか?
これが明確でない場合はお知らせください。
必要に応じてすべての子を更新する親テーブルでトリガーを使用できます。それ以外の場合は、親行を更新するアプリケーションと同じレベルで処理する必要があります。
私はこれを試したことがないので、それをお勧めするかどうかはわかりませんが、status
列を外部キーに追加すると(テーブル 'a' の主キーと の 2 つの列がありますstatus
)、それを使用on update cascade
します同様に機能する可能性があります。