各位好,在下有个问题想向大家请教。
在products里面有两个字段值我想修改,一个是pro_img,内容格式是这样的:4108mbXO7-L.jpg,另一个是pro_mimg,内容格式是4108mbXO7-L.jpg|41oSD8U1dVL.jpg|31KNYvN7d5L.jpg|41vHjpK5pZL.jpg|none|none|none|none,我想把pro_img的内容换成pro_mimg的第二项,即41oSD8U1dVL.jpg,并把pro_mimg的第一项内容删掉,即41oSD8U1dVL.jpg|31KNYvN7d5L.jpg|41vHjpK5pZL.jpg|none|none|none|none,mysql命令该如何去写? 
 
 

解决方案 »

  1.   

    mysql> select * from products;
    +-----------------+-------------------------------------------------------------
    ------------------------+
    | pro_img         | pro_mimg
                            |
    +-----------------+-------------------------------------------------------------
    ------------------------+
    | 4108mbXO7-L.jpg | 4108mbXO7-L.jpg|41oSD8U1dVL.jpg|31KNYvN7d5L.jpg|41vHjpK5pZL.
    jpg|none|none|none|none |
    +-----------------+-------------------------------------------------------------
    ------------------------+
    1 row in set (0.00 sec)mysql> update products
        -> set pro_img=SUBSTRING_INDEX(SUBSTRING_INDEX(pro_mimg,'|',2),'|',-1),
        -> pro_mimg=right(pro_mimg,length(pro_mimg)-length(SUBSTRING_INDEX(pro_mimg,
    '|',1))-1)
        -> ;
    Query OK, 1 row affected (0.09 sec)
    Rows matched: 1  Changed: 1  Warnings: 0mysql> select * from products;
    +-----------------+-------------------------------------------------------------
    --------+
    | pro_img         | pro_mimg
            |
    +-----------------+-------------------------------------------------------------
    --------+
    | 41oSD8U1dVL.jpg | 41oSD8U1dVL.jpg|31KNYvN7d5L.jpg|41vHjpK5pZL.jpg|none|none|no
    ne|none |
    +-----------------+-------------------------------------------------------------
    --------+
    1 row in set (0.00 sec)mysql>
      

  2.   

    感谢你的回答,现在我有个问题,我把pro_img不小心清空了,如何把pro_mimg的第一个值放进pro_img中呢?
      

  3.   

    update products set pro_img SUBSTRING_INDEX(pro_mimg,'|',1)
      

  4.   

    chi1983 (chi1983)
      '截至2011-01-24 03:34:45  用户结帖率0.00% 
    当您的问题得到解答后请及时结贴.
    http://topic.csdn.net/u/20090501/15/7548d251-aec2-4975-a9bf-ca09a5551ba5.html
    http://topic.csdn.net/u/20100428/09/BC9E0908-F250-42A6-8765-B50A82FE186A.html
    http://topic.csdn.net/u/20100626/09/f35a4763-4b59-49c3-8061-d48fdbc29561.html8、如何给分和结贴?
    http://community.csdn.net/Help/HelpCenter.htm#结帖
      

  5.   

    ACMAIN_CHM兄,我在这里还是新手,看了你回覆才明白怎样给别人分,谢谢你
    还有,我按了结帖后才发现原来我可以给多个人打分,没有打到你的,很不好意思,现在还可以给你打分吗?
      

  6.   

    哎呀,有这个问题
    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 '( pro_mimg,
     '|',
    1 ) WHERE pro_no =  'TG042195'' at line 1