1

データベースに 3 つのテーブルがあり、

  • postspost_idpost_title、およびpost_text
  • tagstag_idtag_text
  • post_tagpost_idtag_id

新しい投稿を作成するためのストアド プロシージャを作成したいと考えています。この投稿には、任意の数のタグを付けることができます。タグがまだ存在しない場合は、tagsテーブルに追加する必要があります。

今私の問題は、タグをコンマ区切りのリストとして取得していることです(例:「tag1、tag2、tag3」)。これらの各値からテーブルの 1 つの行を作成するための最良の方法は何ですか。

これまでの私のアイデアは次のとおりです。

  • 投稿の作成を複数のストアド プロシージャに分割し、タグごとに 1 つ呼び出します。
  • DB の文字列に対してある種の爆発関数を使用し、ループを使用して結果のすべてのタグを挿入します (これが可能かどうかさえわかりません)。
  • ストアド プロシージャを削除し、ステートメント全体を文字列としてまとめます (それはしたくありません)。
  • MySQL が可変パラメーター リストを受け入れるようにする方法を見つける。

これを機能させるための他の/より良い方法はありますか、またはこの問題への最良のアプローチは何ですか?

4

0 に答える 0