Würde das für Sie funktionieren?
select
count(*)
from
`information_schema`.`columns`
where
`table_schema` = 'my_table_schema' and `table_name` = 'my_table_name';
Sie müssen nur table_schema
verwenden wenn der Tabellenname in mehr als einer Datenbank existiert.
Basierend auf Ihrem Antwortkommentar möchten Sie eine dynamische Anzahl von Spalten zählen. Sie können dies möglicherweise mit einer temporären Tabelle tun, aber Sie können nicht auf die Daten einer temporären Tabelle zugreifen, ohne möglicherweise einen Patch installieren .
Bemerkenswerterweise gibt es eine ähnliche ausstehende SO-Frage fragt, wie man Spalten aus einer temporären Tabelle auswählt.