MySQL関数に動的SQLがないことに対する適切な回避策はなく、不格好なクラッジだけです。 SQLクエリで動的に計算されたフィールド名やテーブル名を使用するなど、まだまったく理解できないことがいくつかあります。はい、たまにこの種のことをする必要があります!
また、動的SQLをストアドプロシージャに入れて関数またはトリガーでラップすることでチートを試みないでください。質問の提唱者が試したように、MySQLは巧妙すぎて、通常のあいまいなエラーメッセージが表示されます。私を信じてください、私はすべての家の周りにいました。
Oracle PL/SQLおよびMSSQLServerのバックグラウンドから来ているので、PL / SQLおよび(少しは)T-SQLが手続き型SQLを作成するために提供する豊富さを非常に懐かしく思います。