当返回的列数是动态的时,如何计算MySQL查询的列数?

2024-01-19

是否可以检索查询返回的列数?这可以使用绑定的脚本语言(例如 php)轻松完成,但我正在寻找仅数据库的解决方案。

Example:

CountCols(SELECT 'a','b','c')
    => 3
CountCols(SELECT * FROM information_schema.session_variables)
    => 2

这对你有用吗?

select 
    count(*)
from
    `information_schema`.`columns`
where
    `table_schema` = 'my_table_schema' and `table_name` = 'my_table_name';

你只需要使用table_schema如果表名存在于多个数据库中。


根据您的回复评论,您希望计算动态的列数。您也许可以使用临时表来执行此操作,但是如果没有可能,您就无法访问临时表的数据安装补丁 http://venublog.com/2010/02/03/show-temporary-tables.

值得注意的是,有一个类似的悬而未决的问题 https://stackoverflow.com/questions/10443672/list-of-temporary-table-columns-mysql询问如何从临时表中选择列。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当返回的列数是动态的时,如何计算MySQL查询的列数? 的相关文章

随机推荐