字段message里有<a href="http://www.zhzyw.org/zybj/zymr/" target="_blank">美容</a>
这样一段字符串。我想把
<a href="http://www.zhzyw.org/zybj/zymr/" target="_blank">美容</a>换成
美容
用下面的话:
UPDATE pre_forum_post SET message=REPLACE(message,'<a href="http://www.zhzyw.org/zybj/zymr/" target="_blank">美容</a>','美容');怎么不行,0行select * 
from pre_forum_post
where  message like '%<a href="http://www.zhzyw.org/zybj/zymr/" target="_blank">美容</a>%'
这样也查不出结果select * 
from pre_forum_post
where  message like '%www.zhzyw.org/zybj/zymr/%'
这样能查出来,我看了,就是字符串里的双引号的问题,可我不知道怎么解决,我想问一下,请问怎么解决呢

解决方案 »

  1.   

    mysql> select * from re;
    +------+--------------------------------------------------------------------+
    | id   | url                                                                |
    +------+--------------------------------------------------------------------+
    |    1 | <a href="http://www.zhzyw.org/zybj/zymr/" target="_blank">美容</a> |
    +------+--------------------------------------------------------------------+
    1 row in set (0.03 sec)mysql> select * from re
        -> where url like '%<a href="http://www.zhzyw.org/zybj/zymr/" target="_blank
    ">美容</a>%';
    +------+--------------------------------------------------------------------+
    | id   | url                                                                |
    +------+--------------------------------------------------------------------+
    |    1 | <a href="http://www.zhzyw.org/zybj/zymr/" target="_blank">美容</a> |
    +------+--------------------------------------------------------------------+
    1 row in set (0.00 sec)mysql> select * from re
        -> where url like '%www.zhzyw.org/zybj/zymr/%';
    +------+--------------------------------------------------------------------+
    | id   | url                                                                |
    +------+--------------------------------------------------------------------+
    |    1 | <a href="http://www.zhzyw.org/zybj/zymr/" target="_blank">美容</a> |
    +------+--------------------------------------------------------------------+
    1 row in set (0.00 sec)没问题,正常的啊..
      

  2.   

    我用的是phpMyAdmin网页客户端做查询的,
    是不是网页进行了过滤了啊?我用navicat mysql试试,
      

  3.   

    估计是中文的问题你试一下
    select *  
    from pre_forum_post
    where  message like '%<a href="http://www.zhzyw.org/zybj/zymr/" target="_blank">%</a>%'如果可以查到,则说明是字符集设置的问题。按下贴中方法贴出你的检查结果。
    http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
    MySQL 中文显示乱码
      

  4.   

    美容 这样的就可以正常查询<a href="http://www.zhzyw.org/zybj/zymr/" target="_blank">美容</a>这样的就不能正常查询我不知道为什么了
      

  5.   

    你直接到mysql的命令行输入:
    select * from pre_forum_post
    where message like '%<a href="http://www.zhzyw.org/zybj/zymr/" target="_blank">美容</a>%'
    看看有结果没?
      

  6.   


    MySQL 返回的查询结果为空(即零行)。 (查询花费 0.3158 秒)
      

  7.   


    那你用 美容 来查询下,查询的到么.我想不行;你在执行前,先运行:
    set names gbk 
    再输入sql 看看;
      

  8.   

    不是用用 美容 来查询select * from pre_forum_post
    where message like '%美容%'
    这样就能查出来