2013-03-07 56 views
0

我正在使用以下SQL查詢來在phpMyAdmin中進行批量查找和替換。質量查找並替換MySQL中的變量

UPDATE `table_name` SET `field_name` = replace(same_field_name, 'unwanted_text', 'wanted_text') 

當'unwanted_text'是一個常量時,但是'unwanted_text'可能是兩個常量之間的變量嗎?

這是我的具體例子。

我想質量查找和替換這樣的:

<img src="images/stills/variable_1.jpg" /> 
<img src="images/stills/variable_2.jpg" /> 
<img src="images/stills/variable_3.jpg" /> 

有:

<img src="images/stills/1_constant_filename.jpg" /> 

兩個常量是:

"images/stills/ 

.jpg" /> 

非常感謝您的幫助。

回答

0

根據this鏈接:

取代目前功能不支持正則表達式,所以如果 你需要,你需要從外部使用MySQL 用戶定義函數(UDF)的模式來替換文本字符串圖書館,看看這裏 MySQL UDF with Regex

在它說的鏈接的頭版:

該包以MySQL用戶定義函數(UDF)的形式實現正則表達式函數。這個包 實現的功能是:

  • REGEXP_LIKE(文字,圖案[,模式])
  • REGEXP_SUBSTR(文字,圖案[,位置[,occurence [,模式]]])
  • REGEXP_INSTR ?(text,pattern [,position [,occurence [,return_end [,mode]]]])
  • REGEXP_REPLACE?(text,pattern,replace [,position [,occurence [,return_end [,mode]]])

最有可能您對REGEXP_REPLACE感興趣。

+0

Thanks @Barney不幸的是,我沒有編程技能來理解這一點,但它看起來像是在正確的方向。再次歡呼。 – user2105885 2013-03-08 09:27:06