Mysql 替换sql表中的字符串

Mysql 替换sql表中的字符串,mysql,concat,Mysql,Concat,我在用一些需求替换mysql表中的字符串时遇到了一些问题。您可以看到我当前的表格: +----+------------------------+ | id | data | +----+------------------------+ | 1 | [text1]mytext1[/text1] | | | [text2]mytext2[/text2] | | | [text3]mytext3[/text3] | | | [te

我在用一些需求替换mysql表中的字符串时遇到了一些问题。您可以看到我当前的表格:

+----+------------------------+  
| id | data                   |  
+----+------------------------+  
|  1 | [text1]mytext1[/text1] |
|    | [text2]mytext2[/text2] |
|    | [text3]mytext3[/text3] |
|    | [text4]mytext4[/text4] |
+----+------------------------+
然后我需要将
[text3]mytext3[/text3]
更改为
[text3]mytext5[/text3]

问题是:

  • 如何找到字符串[textX]和[/textX]
  • 如何替换[textX]和[/textX]之间的内容

  • 有什么想法吗?

    使用LIKE查找点击,然后替换以进行更改:

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

    是的,这很有效……但是,如果我想把[text3]…[/text3]作为“喜欢”的要求(而不是将“mytext3”作为更改的对象),你对此有什么建议?我不明白。你说它奏效了。还有什么别的吗?