Mysql
 sql >> Base de données >  >> RDS >> Mysql

mysql :faire référence aux colonnes par des numéros

Le plus proche que vous puissiez faire est d'utiliser INFORMATION_SCHEMA.COLUMNS pour trouver le nom de la colonne à partir de la position ordinale. Je me rends compte que ce n'est pas ce que vous avez demandé, mais je pense que c'est peut-être aussi proche que possible. Par exemple, vous pouvez créer une instruction select ayant les 1ère, 2ème et 5ème colonnes comme suit :

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;