mysql存储过程求助:怎样给变量赋值的时候使用变量DELIMITER $$;
DROP PROCEDURE IF EXISTS test$$CREATE PROCEDURE test ()
BEGIN
declare $tofield varchar(255);
declare $thissql varchar(255);
set $tofield = 'aa';
set $thissql = 'bb' & 'aa';
insert into log_war set info=$thissql;
END$$DELIMITER ;$$但是这样查看info这个text字段,发现值为0。怎么会这样?

解决方案 »

  1.   

    因为 & 在mysql中是“按位与”操作符
    'bb' & 'aa' 的值就是 0DELIMITER $$;
    DROP PROCEDURE IF EXISTS test$$CREATE PROCEDURE test ()
    BEGIN
    declare $tofield varchar(255);
    declare $thissql varchar(255);
    set $tofield = 'aa';
    set $thissql = 'bb';
    insert into log_war set info=$thissql;
    END$$改成这样的话 info的值就是 'bb'
      

  2.   

    那如果要让$thissql等于另外两个字符串变量的组合,除了concat还有别的方法吗?