我在我的数据库3个表,
-
posts
与列post_id
,post_title
和post_text
-
tags
与列tag_id
和tag_text
-
post_tag
与列post_id
和tag_id
我想写一个存储过程创建一个新的职位。 这篇文章可以有任意数量的标签。 如果标签不存在,它应该被添加到tags
表。
现在我的问题是,我得到的标签,以逗号分隔的列表(例如“标签1,标签2,标签3”)。 是什么力量让在表中的一行出每个值的最佳方法。
我的想法到现在为止是:
- 拆分后创建多个存储过程和调用一个对每个标记。
- 使用某种对在DB串爆炸功能和使用循环插入每一个结果标记(我甚至不知道这是可能的)。
- 删除存储过程并组建整个语句作为字符串(我宁愿没有这样做)。
- 寻找一种方法来使MySQL的接受变量参数列表。
是否有任何其他/更好的方法来完成这项工作,或者什么对这个问题的最好方法?