SELECT first_name FROM user WHERE FIRST_COLUMN = '10'
Мне нужно знать, как ссылаться на "FIRST_COLUMN" в синтаксисе MYSQL. Первый столбец может быть любым именем, поэтому мне нужно сделать его гибким, так как он должен получить 1-й столбец любой таблицы. спасибо
Короткий ответ: вы не можете. (в переносном смысле есть "трюки" для поиска имени первого столбца и аналогичных обходных решений)
Многие проекты используют в качестве условного обозначения имя первого идентификатора столбца и используют его как первичный ключ.
По запросу это похоже на то, что вы используете его как первичный ключ.
Я рекомендую прочитать введение в реляционные базы данных, поскольку это довольно странный запрос в контексте реляционной базы данных.
Реляционная модель не заботит ни одного крошечного бита, какие столбцы порядка находятся внутри таблицы, и (без предложения заказа), какие строки порядка возвращаются.
Ваше требование имеет мало смысла. Что, если первый столбец был varchar
или date
?
Весь смысл иметь именованные столбцы состоит в том, что вы ссылаетесь на них по имени.
Теперь СУБД часто содержат метаданные в системных таблицах, такие как DB2 sysibm.systables
и sysibm.syscolumns
, но вам нужно извлечь не только имена, но и все другие метаданные (тип столбца, размер, обнуление и т.д.)), чтобы использовать их должным образом. Вероятно, мы лучше поймем, что вам нужно, если вы сказали нам причину этого.
SELECT COLUMN_NAME FROM information_schema.COLUMNS
WHERE TABLE_NAME = 'tablename'
AND ORDINAL_POSITION =1