2013-03-20 60 views
0

我有一些關於用一些要求替換mysql表內的字符串的問題。你可以看到我目前的表:替換表中的字符串sql

+----+------------------------+ 
| id | data     | 
+----+------------------------+ 
| 1 | [text1]mytext1[/text1] | 
| | [text2]mytext2[/text2] | 
| | [text3]mytext3[/text3] | 
| | [text4]mytext4[/text4] | 
+----+------------------------+ 

然後我需要改變[text3]mytext3[/text3][text3]mytext5[/text3]

,問題是:

  1. 我如何才能找到字符串[textX]和[/ textX ]?
  2. 我該如何替換[textX]和[/ textX]之間的內容?

有什麼想法?

回答

0

使用LIKE找到命中,然後更換要進行更改:

update mytable set 
data = replace(data, 'mytext3', 'mytext5') 
where data like '[text%]mytext3[/text%]' 
+0

啊,這是......工作,但是,如果我想取[文字3] ... [/文字3]作爲「LIKE」的要求(而不是「mytext3」作爲改變的對象)你對此的建議是什麼? – user2136356 2013-03-20 22:02:46

+0

我不明白。你說它的工作。還有什麼呢? – Bohemian 2013-03-20 22:48:36