私はこれを完全に立ち往生しています:
SET @req='sometingToFind'
SELECT COUNT(id) FROM mytable WHERE MATCH(descr) AGAINST(@req IN BOOLEAN MODE);
これはうまくいきますが、次のように宣言するストアドプロシージャに同じことをすると:
CREATE PROCEDURE `search_proc`(tn VARCHAR(32), r VARCHAR(60))
BEGIN
SELECT COUNT(id) FROM tn WHERE MATCH(descr) AGAINST(r IN BOOLEAN MODE);
END
そしてそれを実行します:
SET @req='sometingToFind'
CALL search_proc('mytable','@req');
引用符を誤って解釈するエラーが発生しました。
> ERROR 1146 (42S02): Table 'mybase.tn' doesn't exist
ストアドプロシージャなどでrを「r」に置き換えてさまざまな代替手段を試しましたが、これらはすべて機能しませんでした。