mysql - 从给定列号的表中选择值
mysql 是否可以通过指定列号而不是列名来从表中选择一个值?
is it possible in mysql to select a value from a table by specifying the column number instead of the column name ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
不可以,您不能在 SELECT 子句中使用列的序数值。
列顺序与数据库无关;序数值基于 SELECT 子句中的列列表。在 SELECT 子句之后支持序数值 - IE: 在
GROUP BY
和ORDER BY
中。也就是说,使用序数不是推荐的方法,因为序数很脆弱 - 如果有人更改 SELECT 子句中的列顺序,查询可能会受到负面影响。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
, andORDER 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.我认为“直接”不可能,但是使用从 information_schema 链接到 COLUMNS 表的 ORDINAL_POSITION 字段的查询应该可以完成工作!
编辑:COLUMNS 表包含所有表的所有字段(及其位置)
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)
我认为为此您必须递归地使用变量执行单个查询。
就像使用 for 循环来做到这一点。
I think for that you have to execute a single query using variables recursively.
like using for loop to do that.