mysql在字段中查找/替换字符串

时间:2011-02-17 21:28:45

标签: mysql

我有一个表有一些名为这样的varchar字段:

image_fullres | image_highres | image_mediumres | image_lowres | image_thumbnail

我目前每个字段的值都相同(按行不同),因此 image_fullres image_lowres 具有相同的路径,依此类推。

这些路径的示例值为http://mysite.com/images/image1.jpg

我希望每个字段都包含一个不同且适当的路径名,所以:

  • image_fullres 的值为 http://mysite.com/images/fullres/image1.jpg
  • image_highres 的值为 http://mysite.com/images/highres/image1.jpg
  • image_mediumres 的值为 http://mysite.com/images/mediumres/image1.jpg

依旧......

由于我的所有数据都已经在数据库中逐行重复路径,我可以执行哪些SQL会将每个字段数据的值更改为适当的路径?

1 个答案:

答案 0 :(得分:12)

示例:

UPDATE table 
SET image_fullres = REPLACE(image_fullres, 'http://mysite.com/images/', 'http://mysite.com/images/fullres/')

这将更新表中所有行的image_fullres列。您可以为每列执行一个此类语句,或将它们合并为一个:

UPDATE table 
SET
image_fullres = REPLACE(image_fullres, 'http://mysite.com/images/', 'http://mysite.com/images/fullres/'),
image_highres = REPLACE(image_highres, 'http://mysite.com/images/', 'http://mysite.com/images/highres/'),
...
...