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

mysql:bezieht sich auf Spalten nach Zahlen

Am ehesten könnten Sie INFORMATION_SCHEMA.COLUMNS verwenden, um den Spaltennamen von der Ordnungsposition zu finden. Mir ist klar, dass Sie nicht danach gefragt haben, aber ich denke, es könnte so nah wie möglich kommen. Beispielsweise könnten Sie eine select-Anweisung mit der 1., 2. und 5. Spalte wie folgt erstellen:

SELECT CONCAT("SELECT ",
   GROUP_CONCAT(column_name SEPARATOR ", "),
   " FROM ", table_name)
FROM information_schema.columns
WHERE table_schema = database() 
    AND table_name = 'my_table' 
    AND ordinal_position IN (1,2,5) 
GROUP BY table_name 
ORDER BY ordinal_position;