在mysql中是否可以通过指定列号而不是列名来从表中选择一个值?
7877 次
3 回答
4
不,您不能在 SELECT 子句中使用列的序数值。
列顺序与数据库无关;序数值基于 SELECT 子句中的列列表。在 SELECT 子句之后支持序数值- IE: 在GROUP BY
, 和ORDER BY
. 也就是说,不推荐使用序数,因为序数很脆弱——如果有人更改了 SELECT 子句中的列顺序,查询可能会受到负面影响。
于 2010-12-20T17:37:03.593 回答
1
我认为不可能“直接”但是使用从 information_schema 链接到 COLUMNS 表的 ORDINAL_POSITION 字段的查询应该可以完成工作!
编辑: COLUMNS 表包含所有表的所有字段(及其位置)
于 2010-12-20T17:17:59.170 回答
0
我认为为此您必须递归地使用变量执行单个查询。就像使用 for 循环来做到这一点。
于 2010-12-20T18:35:40.437 回答