sql >> Database >  >> RDS >> Mysql

mysql:verwijzen naar kolommen op nummer

Het beste wat u kunt doen, is INFORMATION_SCHEMA.COLUMNS gebruiken om de kolomnaam vanaf de ordinale positie te vinden. Ik realiseer me dat dit niet is waar je om vroeg, maar ik denk dat het zo dicht mogelijk in de buurt komt. U kunt bijvoorbeeld als volgt een select-statement maken met de 1e, 2e en 5e kolom:

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;



  1. GROUP_CONCAT met limiet

  2. Hoe twee dubbele kolommen te verwijderen

  3. Testgegevens genereren in SQL Server

  4. Dubbelzinnige kolomfouten vermijden bij gebruik van JOIN in MySQL