MySQL Group_Concat 在 group_concat_max_len 增加后仍然截断结果
MySQL Group_Concat still truncating results after group_concat_max_len is increased
我在 MySQL 中动态旋转 table(在 php 中也是如此,但一次移动 1 步)。
我的连接看起来像这样:
SELECT GROUP_CONCAT(DISTINCT CONCAT('MAX(IF(name = "', p.name,'",te.hours, 0)) AS "', p.name, '"'))
FROM time_entries te
inner join projects p on p.id = te.project_id
where te.spent_on >= '2016-07-01'; -- test date
我的 return 很早就被截断了(一些信息已编辑,但字符数相同):
MAX(IF(name = "redact",te.hours, 0)) AS "redact",MAX(IF(name = "red",te.hours, 0)) AS "red",MAX(IF(name = "redactednamebutsamel",te.hours, 0)) AS "redactednamebutsamel",MAX(IF(name = "red",te.hours, 0)) AS "red",MAX(IF(name = "redactednamebutsameleng...
现在我知道了关于 max_allowed_packet
和 group_concat_max_len
的所有信息,它们在服务器上都设置为 16777216(通过对它们的 运行 select 查询找到,例如 Select@@max_allowed_packet;)
关键在于,在正确处理的早期阶段,我肯定 return 编辑了完整的字符串。但是我根本无法重现结果。
我的代码有明显的问题吗?我是 MySQL 的新手,其中大部分是通过 google 搜索拼接而成的。
谢谢。
编辑:问题一定在别处。我能够查看完整的字符串,似乎一切都在那里。谢谢。
您使用的是什么工具/语言?
例如,这很常见。 phpMyAdmin 在行视图中显示截断的文本,在查看记录时仅显示全文。
我在 MySQL 中动态旋转 table(在 php 中也是如此,但一次移动 1 步)。
我的连接看起来像这样:
SELECT GROUP_CONCAT(DISTINCT CONCAT('MAX(IF(name = "', p.name,'",te.hours, 0)) AS "', p.name, '"'))
FROM time_entries te
inner join projects p on p.id = te.project_id
where te.spent_on >= '2016-07-01'; -- test date
我的 return 很早就被截断了(一些信息已编辑,但字符数相同):
MAX(IF(name = "redact",te.hours, 0)) AS "redact",MAX(IF(name = "red",te.hours, 0)) AS "red",MAX(IF(name = "redactednamebutsamel",te.hours, 0)) AS "redactednamebutsamel",MAX(IF(name = "red",te.hours, 0)) AS "red",MAX(IF(name = "redactednamebutsameleng...
现在我知道了关于 max_allowed_packet
和 group_concat_max_len
的所有信息,它们在服务器上都设置为 16777216(通过对它们的 运行 select 查询找到,例如 Select@@max_allowed_packet;)
关键在于,在正确处理的早期阶段,我肯定 return 编辑了完整的字符串。但是我根本无法重现结果。
我的代码有明显的问题吗?我是 MySQL 的新手,其中大部分是通过 google 搜索拼接而成的。
谢谢。
编辑:问题一定在别处。我能够查看完整的字符串,似乎一切都在那里。谢谢。
您使用的是什么工具/语言?
例如,这很常见。 phpMyAdmin 在行视图中显示截断的文本,在查看记录时仅显示全文。