【发布时间】:2011-05-13 11:25:02
【问题描述】:
我有一个表格,其中包含标题 Category 和 Subcategories
在每个类别的子类别标题中,我都有一个逗号分隔的子类别列表。
我想将数据重写到新表中,以便逗号分隔的子类别与上一列中的相应类别位于单独的行中。
如果有人对此有任何想法,我将不胜感激。
【问题讨论】:
-
查看此博客文章,其中定义了 SPLIT_STRING() 函数:blog.fedecarg.com/2009/02/22/mysql-split-string-function
-
另一种选择是使用
SUBSTRING_INDEX()函数并编写一个程序来执行您想要的操作。 MySQL 中没有SPLIT()函数,这需要递归过程。您可以将其编写为 MySQL 程序或 PHP 程序(或 Python 或您喜欢的任何其他语言)。 -
这是 SO 中的另一个问题,其过程几乎可以满足您的需求:stackoverflow.com/questions/1077686/…
-
@ypercube 非常感谢。我会调查那个程序。
-
一个 MySQL 存储过程可以在这里找到:kedar.nitty-witty.com/blog/…