我记得mysql中的group_concat有字符数限制,可以在查询前解除。但是即使没有这个字符限制,我可以用它来获得图像列表吗?
有两个表,
表 #1,包含客户列表 表 #2,包含附件 (img/blob)
第二个表中每个客户有更多行。我想要 1 个选择客户和附件的查询。我打算在 php 中使用 group_concat 而不是 explode(',')
SELECT wp_appointments.id,
wp_appointments.full_name,
wp_appointments.primary_email,
wp_appointments.contact_tel,
wp_appointments.appointment_date,
wp_appointments.appointment_status,
wp_appointments.payment_status,
GROUP_CONCAT(wp_appointments_attch.id),
wp_appointments_attch.attachement,
wp_appointments_attch.attach_type
FROM wp_appointments
RIGHT JOIN wp_appointments_attch
ON wp_appointments_attch.appointment_id = wp_appointments.id
WHERE service_type = 'c'
GROUP BY wp_appointments.id
最佳答案
是的,您可以在 blob 上使用 GROUP_CONCAT()
,但您可能无法在生成的串联图像上使用 explode()
来取出单个图像.
字节值 0x2C(与 ,
的 ASCII 相同)很可能在给定图像 blob 数据中巧合出现。因此,如果您依赖 0x2C 作为图像之间的分隔符,您的 explode()
将意外地拆分包含该字节的图像。
无论您为 GROUP_CONCAT()
选择什么其他分隔符,该分隔符都可能出现在图像数据的字节序列中。
关于php - 图像 blob 上的 GROUP_CONCAT?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23416187/