3

在mysql中是否可以通过指定列号而不是列名来从表中选择一个值?

4

3 回答 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 回答