首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在MySql上重新排列SELECT语句中的列顺序

问在MySql上重新排列SELECT语句中的列顺序
EN

Stack Overflow用户
提问于 2016-10-12 14:46:58
回答 2查看 2.8K关注 0票数 2

我正在使用MySql C并执行各种查询,我发现每次查看查询以查看列排序都很不方便。此外,在查询编辑的情况下,这种方法很容易出错。

,我可以通过查询每一列序号来分配什么吗?

如果没有,是否有更方便的方法通过C检索结果?(目前使用mysql_fetch_row并使用下标运算符访问列id )。

请不要让我阅读类似的问题是否可以对mysql SELECT语句中返回列的顺序进行排序?,但我发现它与我的情况不同,因为我需要指定任意数量的列序号。

编辑:

现状

查询:SELECT A.a, A.b, A.c FROM tbl1 A INNER JOIN tbl2 B ON B.id = A.B_id

C代码:

代码语言:javascript
复制
...
MYSQL_ROW row = mysql_fetch_row(result);
unsigned long *lengths = mysql_fetch_lengths(result);
...
int field1 = atoi(row[0]);
memcpy(row[1], field2, lengths[1]); 
..continue for each row..

理想情境

查询:SELECT A.a ORDINAL 1, A.b ORDINAL 2, A.c ORDINAL 3 FROM tbl1 A INNER JOIN tbl2 B ON B.id = A.B_id

C代码:与上面相同。

其中ORDINAL语句是伪SQL语句,允许按意愿排序返回的列。

EN

回答 2

Stack Overflow用户

发布于 2016-10-12 16:06:03

我已经很久没有编写C代码了,很抱歉我没有给出答案,也没有发表任何评论(还不够多),但是mysql_fetch_field_direct()可能会有帮助吗?

票数 0
EN

Stack Overflow用户

发布于 2016-10-12 16:38:33

我不知道你想要什么,但也许这有用:

代码语言:javascript
复制
SELECT A.a AS 1, A.b AS 2, A.c AS 3 FROM tbl1 A INNER JOIN tbl2 B ON B.id = A.B_id

这将返回您想要的字段,名称为"1“、"2”、"3“等等。(我不确定是否接受只有数字的列名。)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40001650

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档