2010-12-09 42 views
0

我有一个快速(希望简单)的问题。我有一些信息存储在MySQL数据库中:MySQL提取结果由delimeter

|info1=value1 
|info2=value2 
|info3=value3 
|info4=value4 
|info5=value5 
|info6=value6 

我需要能够从中获得一定的信息。假设这组数据位于名为options的表中的每个记录中。我需要能够提取info3价值信息,这意味着我需要(对于每个记录)收到记录的“value3”部分。我不需要“|info3=”,只需要“value3”;每个记录的“value3”的实际值是不同的。

+1

哦,好主。你真的*需要*模拟数据库内的数据库吗?我建议将字符串解析成一个[临时]表(由`|`分割,`=`之前的部分是列名),然后通过普通的MySQL处理该表。 – Piskvor 2010-12-09 20:40:52

+0

数据已经存在 - 我想要做的就是使用PHP来获取特定的值,并让PHP使用这个值生成所有记录的列表。核心应用程序是MediaWiki的扩展,我只是试图从生成的信息框中提取信息。 – drewrockshard 2010-12-09 20:42:26

回答

1

你的问题很简单,好的。

我不认为同样可以告诉了答案:

select substring_index(
    substring_index(
     old_text 
     ,'info3=',-1),'|',1) 
from mw_text; 

这应该做你想要什么。

,但我真的希望这只是为了玩,否则,我会建议您检查数据库设计。