既存のアプリケーションにタグスキームを実装しています。簡単にするために、次のテーブル構造が使用されていると仮定できます。
table comments
-id
-name
table tags
id
name
table comment_tag
comment_id
tag_id
したがって、コメントが保存されると(作成または更新される可能性があります)、post_tagテーブルから作成、挿入、または削除する必要のある一連のタグを取得します。実際、考えられるシナリオは3つあります。
- comment_tagはすでに存在します。アクションは必要ありません
- comment_tagはまだ存在していません。comment_tagテーブルに挿入します
- comment_tagが削除されました。comment_tagテーブルから削除します
これを行うための最良/最適な方法は何ですか?
オプション1:postedタグのそれぞれをループし、comment_tagのステータスに応じて、上記の3つのルートのいずれかを使用します。
オプション2comment_id= '123'であるcomment_tagからすべてのレコードを削除してから、挿入を実行しますか?
これらのどれも本当に最適ではないようです。より良い選択肢があることを願っています。