imageとimage_dataの2つのテーブルがあり、これが私のimage_dataテーブルの例です。
image_id | slide_id | language_id | type |
101 | 1 | 1 | CQ |
101 | 2 | NULL | NULL |
56 | 5 | 1 | TN |
56 | NULL | 2 | NULL |
つまり、基本的に、各画像には異なるオプションがあり、これを実装するための最良の方法を考えています。私はこれを間違った方法で行っていると感じているからです。
これにより、クエリを実行してGROUP_CONCAT()
、複数の行の値を1つの連結された文字列に変換できます。
image_id | slide_id | language_id | type |
101 | 1,2 | 1 | CQ |
56 | 5 | 1,2 | TN |
これは問題ありませんが、現在の方法の問題は、バックエンドシステムで行を更新するのが非常に難しいようです。
したがって、クエリを使用すると、データベースを連結してからすべてを1行にまとめているので、データベースに基づいてチェックするクエリを決定できます。しかし、今は次のようになっています。[保存]をクリックして行を更新すると、どちらを更新しますか?同じ画像IDが複数行存在する可能性があるため、正しい画像IDを更新するにはどうすればよいでしょうか。
別のスライドで画像#101をチェックした場合は、そのスライド用に新しい行を作成する必要があります。その後、別のlanguage_idを追加したい場合は、行がNULL値で存在するため、新しい行を追加しないようにし、NULL値を新しい言語IDに置き換える必要があります。
それは本当に複雑に見え、非常に多くの要因があるため、このメソッドを使用することはプログラムするのが非常に困難です。
これを行うための最良の方法は何でしょうか?どんな提案でも本当にありがたいです。
ありがとう!