Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie zähle ich die Spalten einer MySQL-Abfrage, wenn die Anzahl der zurückgegebenen Spalten dynamisch ist?

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.