Execute语句仅返回#Rows [英] Execute statement only returns #Rows

查看:74
本文介绍了Execute语句仅返回#Rows的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用PMA来测试一些数据透视查询(动态列),但是一切似乎都正常,但是,我在结果中仅获得#行,而不是实际的行集.

I'm using PMA to test some pivot queries (dynamic columns), everything seems to be working just fine however, I'm only getting the # Rows in my results, not the actual set of rows.

如何查看我的结果集?

SET @sql = NULL;
SELECT
  GROUP_CONCAT(DISTINCT
    CONCAT(
      'MAX(IF(t.week_end = ''',
      t1.week_end,
      ''', t.st_hours, NULL)) AS ''',
      t1.week_end, '\''
    )
  ) INTO @sql
FROM timesheets t1 WHERE t1.week_end > "2015-03-01";

SET @sql = CONCAT('SELECT t.assignment_id
                    , ', @sql, ' 
                   FROM timesheets t
                  LEFT JOIN timesheets t1 ON t.timesheet_id = t1.timesheet_id
                   GROUP BY t.assignment_id');

PREPARE stmt FROM @sql;
EXECUTE stmt;

返回# Rows: 440

SELECT * FROM table-返回实际的行集

推荐答案

此问题将在最新的PHPMyAdmin版本中解决,并应在4.6版中发布.

This will be resolved in the latest PHPMyAdmin builds, and should be released in version 4.6.

[prepared statement]可以在查询中发送,因为这在phpMyAdmin中非常有效.唯一的问题是显示结果.如果执行以上所有操作,则仅从上次查询(DEALLOCATE)获得结果,该查询显示0行,但是如果不进行DEALLOCATE而执行该操作,则将得到1行,但未显示.

[Prepared statements] can be sent in query as this pretty much works in phpMyAdmin right now. The only problem is displaying results. If you execute all of above, you get result just from last query (DEALLOCATE), which shows 0 rows, but if you do it without DEALLOCATE, you reportedly get 1 row, but it's not displayed.

参考

这篇关于Execute语句仅返回#Rows的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆