本帖最后由 fanhefan 于 2012-09-03 11:19:20 编辑

解决方案 »

  1.   

    检查GROUP_CONCAT(CONCAT(REPLACE(po.products_options_name, 
    " ", ""), pov.products_options_values_name)中的
    内容是什么SQL语句不是标准的SQL语句
      

  2.   


    下面是几个表的数据 数据有点大
    http://l9.yunpan.cn/lk/83qno1fuvy
      

  3.   

    测试下,情况确实和楼主一样。但是报了一个warning,提示group_concat 被截断,故:
    set global group_concat_max_len= 999999999;重新连接执行。就有结果了。
      

  4.   

    测试确实是如此,
    执行你的SQL语句,SHOW WARNINGS,提示截断 group_concat,设置group_concat_max_len即可使用group_concat_max_len系统变量,你可以设置允许的最大长度。
     程序中进行这项操作的语法如下,其中 val 是一个无符号整数:
     SET [SESSION | GLOBAL] group_concat_max_len = 10000000;
      

  5.   

    SELECT DISTINCT p.products_image, pd.products_name, p.products_quantity, 
    GROUP_CONCAT(CONCAT(REPLACE(po.products_options_name, " ", ""), 
    pov.products_options_values_name)) AS ss,.....
    看看SS的长度
      

  6.   

    问下,实际开发中,sql都是这么写的么》
      

  7.   

    楼主可以考虑把SQL语句分解,简化
      

  8.   

    十分感谢各位在my.ini文件中在max_connections后边增加group_concat_max_len=999999999就正常了~