Cela fonctionnerait-il pour vous ?
select
count(*)
from
`information_schema`.`columns`
where
`table_schema` = 'my_table_schema' and `table_name` = 'my_table_name';
Il vous suffit d'utiliser table_schema
si le nom de la table existe dans plusieurs bases de données.
Sur la base de votre commentaire de réponse, vous cherchez à compter un nombre dynamique de colonnes. Vous pouvez peut-être le faire avec une table temporaire, mais vous ne pouvez pas accéder aux données d'une table temporaire sans éventuellement installation d'un correctif .
Il convient de noter qu'il existe une question SO en suspens similaire demandant comment sélectionner des colonnes dans une table temporaire.