数据库中有"have name"(中间有空格)还有"g g"(中间也有空格)
为什么前面的能替换,后面的不能替换呢

解决方案 »

  1.   

    select replace ('have name',' ','')这样?
      

  2.   

    update dede_addonarticle set body=replace(body,'have name','测试') where body LIKE '%1%'这个成功
    update dede_addonarticle set body=replace(body,'g g','测试') where body LIKE '%1%'
    这个失败
    have name 和g g都是直接从网页里面复制过来的
      

  3.   

    mysql> select replace('123123g gdasdasdsadsadsd','g g','我们');
    +--------------------------------------------------+
    | replace('123123g gdasdasdsadsadsd','g g','我们')     |
    +--------------------------------------------------+
    | 123123我们dasdasdsadsadsd                            |
    +--------------------------------------------------+你语法没错的
      

  4.   

    貌似发现一个问题,就是像记事本里面的我看到上下两行的
    </div>
    <tr><td></td></tr>
    像这样的我复制到查询框里面的时候只能复制到上面的</div>
    哪个g g
    在查看源文件中的形式也是和上面的一样不知道是不是因为这个
    另外想问下就是在替换语句中如果我要替换的是html代码比如<div align='center'
    其中也有''这该怎么写?
      

  5.   

    转义一下select 'aa\'\'aa';
      

  6.   

    错误
    您的 SQL 查询可能有错。如果可能的话,以下会列出 MySQL 服务器的错误输出,这可能对您解决问题有一定的帮助。ERROR: 未知的标点符号字符串 @ 79
    STR: \</
    SQL: update dede_addonarticle set body=replace(body,'</div><div align='center'>\','\</div><div align='center'>测试;
    SQL 查询: update dede_addonarticle set body=replace(body,'</div><div align='center'>\','\</div><div align='center'>测试; MySQL 返回: #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'center'&gt;\','\&lt;/div&gt;&lt;div align='center'&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
    goog' at line 1 
      

  7.   

    update dede_addonarticle set body=replace(body,'</div><div align=\'center\'>','</div><div align=\'center\''>
      

  8.   

    楼主你需要了解一下基础。MySQL官方文档 http://dev.mysql.com/doc/refman/5.1/zh/index.html