2017-08-23 15 views
-1

私は2つのテーブルを持っています。MySQLの外部キー - データが変更された場合、外部テーブルへのアクションはありません

第一テーブル:質問

| id | name | 

第二表:回答

| id | answer | questionid | 

私の問題は、変更が質問に行われたとき、答えは質問にフィットいけないこと、です。ですから、私が質問に変更を加えたら、それは既存の回答には影響しません。

どうすれば実現できますか?

+0

少し詳しく説明できますか?だからあなたの質問が変わったとき - 前の答えが元の質問とまだ一致していることを確認したいのですか?新しい質問を 'update'ではなく' insert'するのはどうでしょうか?タイムスタンプ(たとえば、ValidFromやValidToなど)を使用することもできます。 – ssn

+0

あなたは質問フィールド自体の更新を行うという意味ですか?もちろん答えは古い質問に属する。 「質問1」を変更して、古い質問 - 回答のペアを保持したい場合は、質問テーブルに「質問番号」と「アクティブな質問です」という別のフィールドを追加することを検討する必要があります。 - 私は。すべての「古い」質問と回答を保存して、アクティブな質問を画面に表示するか、何をしていてもかまいません。 –

答えて

0

質問は今必要ではありませんが、答えは古い質問の文脈に与えられました。新しい質問を質問表の下に別の行として追加し、古い質問を書き換えようとする場合にのみ更新する必要があります。

どのUIでも、質問を表示したい場合は、「isActive」という別の列を維持して、アクティブな質問のみを表示することができます。この方法では、新しい質問を追加するのではなく、将来質問を再度有効にすることができます。

関連する問題