2013-04-04 81 views
0

我有一个问题几乎是完全一样的:MySQL查询删除URL的一部分数据库

http://www.experts-exchange.com/Web_Development/Web_Languages-Standards/PHP/Q_27928324.html

我不打算放弃我的信用卡信息的网站上找到了答案,这个问题。

在我名为'product'的表中,在我的数据库中名为'image'的列中有大约7000行,每个列都有以.jpeg结尾的图像的文件路径。一些图像名称是234234_15.jpeg,一些是wdcaas_ad_3_15_mmm.jpeg等等,但是每个图像的文件结构都不相同。

我需要制作一个脚本来更新所有的行,只留下图像名称。最好我最终想要用文件夹/ data /替换所有文件结构,并且有一个/data/imagename.jpeg的示例

我发现这个Remove part of string including a specific character from a string using MySQL,它可能有帮助吗?我不知道如何使用它。

帮助!

+0

关于专家的交流,如果你向下滚动到页面的底部,你会看到所有在这个问题上的对应关系。你可以跳过广告,当然你不必支付。 – 2013-04-04 03:08:17

回答

0

您可以使用reverse来做到这一点。 。 。

select reverse(substring_index(reverse(image), '/', 1)) 

如果您想实际更新值。 。 。

update t 
    set image = reverse(substring_index(reverse(image), '/', 1)) 

要在前面加“数据/”,使用CONCAT:

update t 
    set image = concat('data/', reverse(substring_index(reverse(image), '/', 1))) 
+0

因此,这将改变'图像'列中的所有行? – Chris 2013-04-04 03:13:15

+0

@Chris。 。 。第二个版本将更新这些值。第一个返回图像名称,以便您可以看到它的工作原理。 – 2013-04-04 03:14:32

+0

它工作完美。现在我需要添加每个字符串的'data /'infront。我想concat会完成这项工作吗? – Chris 2013-04-04 03:19:55