表 table 中有个 images 字段,类型为 varchartable:images
123456.jpg
现在想着把 images 下的数据统一的图片名称前面加上 /upload/    即成为:   /upload/123456.jpg怎么实现呢?
的sqlserver中,用 update table set images = '/upload/'+images  可以实现。  但是在 mysql中不可以呢?mysql中成了一串数字。

解决方案 »

  1.   

    用字符串连接函数 CONCAT
    mysql> SELECT CONCAT('My', 'S', 'QL');        -> 'MySQL'
      

  2.   

    怎么不行?
    mysql> select 字符 from aaaa.bbbb;
    +----------------------+
    | 字符                 |
    +----------------------+
    | %e5%9b%bd%e6%a0%87TC |
    | E5 9B BD E6 A0 87 74 |
    | aaa                  |
    | 国标tcp  |
    | 朋友                 |
    | aa                   |
    | kk                   |
    | ff                   |
    | aaa                  |
    | 哈哈                 |
    | 呵呵                 |
    | aafgfg               |
    | aa                   |
    +----------------------+
    13 rows in set (0.00 sec)mysql> update aaaa.bbbb set 字符=concat('/a',字符);
    Query OK, 13 rows affected, 3 warnings (0.00 sec)
    Rows matched: 13  Changed: 13  Warnings: 3
    警告意思是说超长截取了
    mysql> select 字符 from aaaa.bbbb;
    +----------------------+
    | 字符                 |
    +----------------------+
    | /a%e5%9b%bd%e6%a0%87 |
    | /aE5 9B BD E6 A0 87  |
    | /aaaa                |
    | /a国标tc |
    | /a朋友               |
    | /aaa                 |
    | /akk                 |
    | /aff                 |
    | /aaaa                |
    | /a哈哈               |
    | /a呵呵               |
    | /aaafgfg             |
    | /aaa                 |
    +----------------------+
    13 rows in set (0.00 sec)mysql>
      

  3.   

    update table set images=concat('/upload/',images)