Es funktioniert tatsächlich nicht wie das, was ich geschrieben habe. Ich codiere nur wie folgt:
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;
Achten Sie nur auf den Tabellennamen, er sollte nicht durch den Platzhalter ersetzt werden. Daher sollte @preparedstmt mit der concat-Methode generiert werden, um eine Anweisung zu erstellen, die nur die Parameter in Bedingungen durch Platzhalter ersetzt, aber nicht den Tabellennamen.