0

我有一个名为“关键字”的表,其中包含以下字段:

ID [主键] | 关键字 [varchar(255)]

每条记录的关键字字段都包含一个字符串值,例如“this, is, only, a test”

我不知道如何创建一个存储过程来用“,”作为分隔符分割这个字符串,并将每个标记作为新记录插入新表中。

先感谢您。

4

3 回答 3

1

在这里,困难是用分隔符切割你的字符串。您需要像这样声明一个 FUNCTION:http: //fdegrelle.over-blog.com/article-1342263.html 之后,您只需将值存储在表中,这很容易。祝你好运!

于 2012-05-31T16:10:52.717 回答
0
  1. 使用 instr() 查找 delimiter(,) 的第一次出现。

  2. Substring() 将输入字符串从第零个字符拆分到第一个出现的字符现在您已经分离了第一个字符串。将分隔的字符串插入表中。

  3. 对输入字符串使用 replace() 以删除第一个值。

  4. 重复步骤 1 到 3,直到您的输入字符串为空。希望这有效..祝你好运..

于 2012-06-05T03:28:39.670 回答
0

MySQL 没有任何类型的 SPLIT() 或 EXPLODE() 字符串函数。简而言之,您需要手动遍历字符串以搜索逗号并在到达分隔符(逗号)或字符串末尾时插入值。或者,您可以尝试使用 INSTR() 进行花哨的旋转,这样,您的里程可能会有所不同。

我建议阅读MySQL的String Functions 参考页面底部的一些评论。在页面上搜索 (Ctrl-F) 进行拆分,您会看到一些有用的想法。

于 2012-05-31T16:10:04.887 回答