実際には、私が書いたものとは異なります。次のようにコーディングします。
set @preparedstmt = concat('SELECT tid, LENGTH(message) len FROM ? where tid=? and first=1');
prepare stmt from prepared_stmt;
execute stmt using v_tid;
drop prepare stmt;
テーブル名に注意してください。プレースホルダーに置き換えないでください。@preparedstmtはconcatメソッドを使用して生成し、ステートメントを作成する必要があります。これは、条件のパラメーターをプレースホルダーに置き換えるだけで、テーブル名は置き換えません。