如何使用MySql命令行将一串字转换为表的多行

时间:2012-06-11 06:29:35

标签: mysql

我有一个字符串,例如,

  

“这是一种刺痛,我不知道我有多久”

我想将字符串中的每个单词转换成我的sql表的一行,以便得到:

  

这是一个字符串
和我不知道等...

我需要能够使用MySql命令行执行此操作。 (我还需要一个相邻的列,每行都填充一个,这有助于/改变你的答案)我想我可以以某种方式使用INSERT String (Words, num) Values (@words, 1)但我不知道如何让它添加每个单词。有没有简单的方法来做到这一点?如果没有,会怎么做?

1 个答案:

答案 0 :(得分:1)

MySQL没有拆分分隔字符串的功能。虽然没有直接的解决方案来处理可变数量的元素,但在MySQL manual page(搜索“拆分”)上对此问题进行了大量讨论。

而不是那样,我会帮助自己生成这样的查询:

SELECT CONCAT('INSERT INTO t1 VALUES ("', REPLACE(REPLACE(TRIM(string_column), '"', '\\"'), ' ', '", "'), '")') FROM t2_with_string