mysql> select * from t_test;
+------+--------+
| id   | t_name |
+------+--------+
|    1 | aa     |
|    2 | bb     |
|    3 | cc     |
|    4 | dd     |
|    5 | ee     |
+------+--------+
5 rows in set (0.00 sec)
如上面代码所示,一个查询语句,查询完毕之后,返回了一个表数据的结果集,但同时也返回了一个统计结果集(5 rows in set(0.00 sec)),哪位大哥指点下,怎么设置下,只显示表数据结果集,而不显示统计结果集。就象sqlserver中的set Nocount on。谢谢!

解决方案 »

  1.   

    我写了个查询数据的存储过程,做c++的同事调用我的存储过程,他说出来2个结果集,他区分不了,要我把统计的那个结果集干掉,我是做java的,我也不知道他怎么调用的,只有按他的要求来找方法了
      

  2.   

    ... 不是很明白 要不你把其中的一个结果集输出为txt文件
    select * from t_test into outfile “1.txt”;
      

  3.   

    找了半天,没点资料,不知道 SQL_NO_CACHE 表示什么,大哥给解释下,谢谢!
      

  4.   

    不知道 SQL_NO_CACHE 表示什么表示SQL查询是否缓存到query_cache
      

  5.   

    不会啊,如果你是通过C来调用,只会返回一个结果集。那个 5 rows in set (0.00 sec) 只是 mysql.exe 工具的功能,不是真正的结果。在C API中mysql_real_query()如果你只是执行了一个 select 语句,则仅返回一个结果集。你可以通过 mysql_num_rows()来得到这个 5 rows.
    建议你的同事检查一下,程序中是不是一次性执行了两个SQL查询语句,或者用了什么存储过程。