首頁  >  問答  >  主體

mysql select where疑問

請教各位前輩一個問題,有一個表,表中有個字段sfz,字符型定長18位,我在存儲過程中用遊標的方式把這個字段賦值給一個變量vsfz,也是字符型定長18位,我寫了一條查詢語句:select bj from kq201905 where sfz=vsfz;,能夠正確查詢。因為我要查詢多個表,表名需要用變數循環賦值,所以使用prepare語句拼接,

set @vsk=concat('select bj from ',vkn,' where sfz=' ,vsfz,';');

prepare stmt from @vsk;

execute stmt;

deallocate prepare stmt;

執行後發現查詢結果是錯誤的。我測試了與表名變數無關,現在懷疑就是where子句的問題,哪位知道是什麼原因請告訴我,謝謝!

享耳享耳1958 天前1267

全部回覆(0)我來回復

無回覆
  • 取消回覆