Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

mysql:referindo-se a colunas por números


O mais próximo que você pode fazer é usar INFORMATION_SCHEMA.COLUMNS para localizar o nome da coluna da posição ordinal. Sei que não foi isso que você pediu, mas acho que pode ser o mais próximo possível. Por exemplo, você pode construir uma instrução select com a 1ª, 2ª e 5ª colunas da seguinte forma:
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;