我现在定义了一个表 要合并表中的字段
但mysql 中的写法 和sql server 中的写法不一样
语句:
declare @id int
declare @re varchar(500)
update 表 set re=case when @id=id then re=@re+";"+re else re end,
@id=id,@re=re这样写 在mysql中提示 语发有问题,请问 在mysql 中 应该怎么写

解决方案 »

  1.   

    declare id_1 int;
    declare re_1 varchar(500);
    update 表 set re=case when id_=id then re_1=concat(re,";",re) else re end;
    上述语句要放在存储过程里才能执行
      

  2.   

    declare id_1 int;
    declare re_1 varchar(500);
    update 表 set re=case when id_1=id then re_1=concat(re,";",re) else re end;
      

  3.   

    declare @id int;
    declare @re varchar(500);
    update 表 set re=case when @id=id then concat(@re,";",re) else re end,
    @id=id,@re=re
    注意分号;
    注意concat建议下载一份MYSQL官方免费手册以便查看其中的语句规则和例子。
      

  4.   

    我也碰到类似问题,我使用MYSQL5.6+workbench5.2调试存储过程,如果定义成declare id int;可以创建并保持存储过程,但是运行时提示,找不到id字段。如果按上述所说:declare @id int;都无法编译保存,直接说语法有错。
    请问有人实际运行过这个脚本吗? 这种编程方法很有用。