库 rogue 表 tbl_character 字段cdkey类型是char(30)
cdkey
   A
   B
   V
   F
   D
   G
   J
   F
   D
   S
......省略
要求用SQL语句在每个后面加上数字
结果是这样.
字段
cdkey
   A2
   B2
   V2
   F2
   D2
   G2
   J2
   F2
   D2
   S2
就是这样...请教大大查询该怎么写..
我需要查询并修改....各位大大..

解决方案 »

  1.   

    update tbl_character set cdkey=concat(cdkey,2)
      

  2.   

    mysql> create table tb(cdkey char(30));
    Query OK, 0 rows affected (0.08 sec)mysql> insert into tb  values('A'),('B  '),('C')
        -> ;
    Query OK, 3 rows affected (0.00 sec)
    Records: 3  Duplicates: 0  Warnings: 0mysql> select * from tb;
    +-------+
    | cdkey |
    +-------+
    | A     | 
    | B     | 
    | C     | 
    +-------+
    3 rows in set (0.00 sec)mysql> update tb set cdkey=concat(trim(cdkey),'2');
    Query OK, 3 rows affected (0.00 sec)
    Rows matched: 3  Changed: 3  Warnings: 0mysql> select * from tb;
    +-------+
    | cdkey |
    +-------+
    | A2    | 
    | B2    | 
    | C2    | 
    +-------+
    3 rows in set (0.00 sec)mysql> 
      

  3.   

    UPDATE tbl_character SET cdkey=concat(RTRIM(cdkey),'2');
      

  4.   

    UPDATE rogue.tbl_character SET cdkey = cdkey+'2'
    Select * From rogue.tbl_character Where cdkey = cdkey+'2'
      

  5.   

    直接查询 select cdkey+2 as tt from tbl_character
      

  6.   

    呵呵,都能够实现
    不过 yangxiao_jiang(哈哈) 真有创意 
    select cdkey+2 as tt from tbl_character
    改为
    select concat(cdkey,'2') as cdkey from tbl_character
    就对了,数据库的数据还没有变化。
    不过,楼主需要修改
    就还是 
    UPDATE rogue.tbl_character SET cdkey=concat(cdkey,'2'); 
    比较好
      

  7.   

    我记得mysql是直接支持字符串+操作的,不过手头没有mysql,没有测试。
      

  8.   

    MYSQL不支持字符串+操作,这不是JAVA.
    只能用CONCAT函数.
    UPDATE rogue.tbl_character SET cdkey=concat(cdkey,'2');
      

  9.   

    MySQL 4 字符串可以 + 操作,按照数字处理(隐式转换),但是,5的语法严格了,字符串+操作 会报错。
    实际上,mysql 从一开始就不支持字符串+操作