mysql - selecting values from a table given column

2019-06-08 13:36发布

问题:

is it possible in mysql to select a value from a table by specifying the column number instead of the column name ?

回答1:

No, you can not use the ordinal value of a column in the SELECT clause.

Column order is irrelevant to a database; the ordinal value is based on the list of columns in the SELECT clause. The ordinal value is supported after the SELECT clause - IE: in the GROUP BY, and ORDER BY. That said, using ordinals is not a recommended approach because ordinals are brittle -- if someone changes the column order in the SELECT clause, the query can be negatively impacted.



回答2:

I don't think it is possible "directly" BUT with a query linked to the ORDINAL_POSITION field of the COLUMNS table from the information_schema should do the work!

Edit: COLUMNS table contains all the fields of all tables (and their positions)



回答3:

I think for that you have to execute a single query using variables recursively. like using for loop to do that.