2013-03-20 61 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