データ変更に伴うレコードの扱い方をどのようにしたらいいか判断がつかないので質問させていただきます。
テーブルがuser(以下U),schedule(以下S),user_scuedule(以下US)と3つあり、USは中間テーブルので、持っているのはUS_id(主キー),U_id,S_idの3つです。UとSはそれぞれお互いのデータは持っていません。USテーブルの1つのレコードにはUS_id,U_id,S_idがそれぞれ1つあり、1対1対1になります。
1つのSに複数のUが参加する場合USテーブルのレコードは
US_1,U_1,S_1
US_2,U_2,S_1
US_3,U_3,S_1
︙
という感じなっています。
登録の際はフォームのPOSTにSとU_idのデータがあり、SのデータをSにINSERTして、発行されたS_idとPOSTのU_idをUSにINSERTしています。
このような場合、データ変更、削除の場合、USテーブルのデータはどのようにしたらいいでしょうか?
削除の場合
Sが削除された場合はUSの中から削除されたSのS_idと一致するUS_idを削除。
Uが削除された場合はUSの中から削除されたUのU_idと一致するUS_idを削除。
変更の場合
SやU自体が変更された場合はそのまま何もしない。
Sに参加するUに変更ある場合は、そのS_idを持つUS_idを削除して、変更後のデータをUSにINSERT(新たに別のUS_idが発行される)。
と今思いつく限り書きましたが、このような感じになりますでしょうか?アドバイスなどよろしくお願いいたしますm(_ _)m
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。