prepare stmt from 'select ID  as a from ?.J_WenZhang where BianHao=? and ZaZhiID=?';
execute stmt using @JavaWk_Dbname,@GaoHao,@JavaWk_ZaZhiID;mysql存储过程里面的这个句子哪儿里出错了呢阿?该如何修改,谢谢。

解决方案 »

  1.   

    好像问过,在FROM中不能用变量,用字符串累加得到SQL语句,再动态执行。
      

  2.   

    楼上说的是应该改成这样的不?set @sqlTxt=concat('select ID as a from ',JavaWk_Dbname,'.J_WenZhang where BianHao=',GaoHao,'and ZaZhiID=',JavaWk_ZaZhiID);
    prepare s1 from @sqlTxt;
    execute s1;
    deallocate prepare s1;
    但是还是不对,哪里出错了呢阿。