我记得mysql中的group_concat有字符限制,可以在查询之前解除。但即使没有这个字符限制,我可以使用它来获得图像列表吗?
有两个表,
表#1,包含客户列表 表#2,包含附件(img / blob)
第二个表中每个客户的行数更多。我想有一个选择客户和附件的查询。我打算在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
答案 0 :(得分:0)
是的,您可以在blob上使用GROUP_CONCAT()
,但是您可能无法在生成的连续图像上使用explode()
来获取单个图像。
字节值0x2C(与,
的ASCII相同)可能是在给定图像blob数据中重合出现的。因此,如果您依赖0x2C作为图像之间的分隔符,则explode()
会意外地分割包含该字节的图像。
无论您为GROUP_CONCAT()
选择哪个其他分隔符,该分隔符都可能出现在图像数据的字节序列中。