Det fungerar faktiskt inte som jag skrev. Jag kodar bara som:
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;
Ta bara hand om tabellnamnet, det bör inte ersättas med platshållaren. Så @preparedstmt bör genereras med concat-metoden för att göra ett uttalande, som bara ersätter parametrarna i villkor med platshållare, men inte tabellnamnet.