2010-08-02 67 views
1

嗨伙计们,我有一个表中的字段,我需要做一个搜索和替换,虽然这有点棘手,超出了我的查询技能的措施。基本上,一个字段的内容可能会是这样的:mySql查询搜索和替换

image1.jpg 
image2.jpg 
image3.jpg 
image4.jpg 
image5.jpg 

我需要做一个搜索和替换,以取代每一行的东西,如:

<img src="http://www.domain.com/image1.jpg" /> 
<img src="http://www.domain.com/image2.jpg" /> 
<img src="http://www.domain.com/image3.jpg" /> 
<img src="http://www.domain.com/image4.jpg" /> 
<img src="http://www.domain.com/image5.jpg" /> 

图像标题是完全随机的,可以是.gif,.jpg或pngs。表名是“exp_channel_data”,字段名是“field_id_8”,我将在phpadmin中运行查询。上述搜索和替换可能吗?

+0

什么可能的原因不做客户端? – Unreason 2010-08-02 15:01:15

+0

数据库是CMS的一部分。经过一些版本更新等等,通过phpadmin运行查询绝对是我最好的选择。 – liquilife 2010-08-02 15:03:42

回答

4

一个链接,我相信你可以替换行以收盘突破+打开标签,然后包裹在一个img标签的结果,以获得期望的结果:

UPDATE exp_channel_data 
SET field = CONCAT(
    '<img src="http://www.domain.com/', 
    REPLACE(field_id_8, '\n', '" />\n<img src="http://www.domain.com/'), 
    '" />') 
WHERE (field_id_8 IS NOT NULL) AND (field_id_8 != '') 
+0

+1,我刚刚将我的答案扩展到基本相同的东西。 – Unreason 2010-08-02 15:13:23

+0

这工作非常好,先生!非常感谢。更有效的查询我试图串在一起:) – liquilife 2010-08-02 15:23:29

+0

实际上,如何修改这个字段为空或空的任何行? – liquilife 2010-08-02 15:32:28

0

是的。我希望你的Regular Expression技能是最新的。

+0

谢谢。不幸的是,我的正则表达式技巧并不是最新的。我似乎无法围绕如何做到这一点。你能告诉我一个如何做这样的事情的快速肮脏的例子吗? – liquilife 2010-08-02 14:57:20