Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED may help. In current row format, BLOB prefix of 768 bytes is stored inline.
CREATE TEMPORARY TABLE member_db AS ( select m.*, mv.* from main_db m left join (SELECT pid as temp_matching_id , MAX(IF(field = 'cat_name', value, NULL)) AS 'cat_name' , MAX(IF(field = 'name_eng', value, NULL)) AS 'name_eng' , MAX(IF(field = 'name_tc', value, NULL)) AS 'name_tc' , MAX(IF(field = 'name_sc', value, NULL)) AS 'name_sc' , MAX(IF(field = 'remark_eng', value, NULL)) AS 'remark_eng' , MAX(IF(field = 'remark_tc', value, NULL)) AS 'remark_tc' , MAX(IF(field = 'remark_sc', value, NULL)) AS 'remark_sc' , MAX(IF(field = 'phone', value, NULL)) AS 'phone' , MAX(IF(field = 'fax', value, NULL)) AS 'fax' , MAX(IF(field = 'email', value, NULL)) AS 'email' , MAX(IF(field = 'website', value, NULL)) AS 'website' , MAX(IF(field = 'address_eng', value, NULL)) AS 'address_eng' , MAX(IF(field = 'address_tc', value, NULL)) AS 'address_tc' , MAX(IF(field = 'address_sc', value, NULL)) AS 'address_sc' , MAX(IF(field = 'image', value, NULL)) AS 'image' , MAX(IF(field = 'thumb_image', value, NULL)) AS 'thumb_image' , MAX(IF(field = 'vcard', value, NULL)) AS 'vcard' , MAX(IF(field = 'education_eng', value, NULL)) AS 'education_eng' , MAX(IF(field = 'education_tc', value, NULL)) AS 'education_tc' , MAX(IF(field = 'education_sc', value, NULL)) AS 'education_sc' , MAX(IF(field = 'professional_eng', value, NULL)) AS 'professional_eng' , MAX(IF(field = 'professional_tc', value, NULL)) AS 'professional_tc' , MAX(IF(field = 'professional_sc', value, NULL)) AS 'professional_sc' , MAX(IF(field = 'practice_eng', value, NULL)) AS 'practice_eng' , MAX(IF(field = 'practice_tc', value, NULL)) AS 'practice_tc' , MAX(IF(field = 'practice_sc', value, NULL)) AS 'practice_sc' , MAX(IF(field = 'experience_eng', value, NULL)) AS 'experience_eng' , MAX(IF(field = 'experience_tc', value, NULL)) AS 'experience_tc' , MAX(IF(field = 'experience_sc', value, NULL)) AS 'experience_sc' , MAX(IF(field = 'membership_eng', value, NULL)) AS 'membership_eng' , MAX(IF(field = 'membership_tc', value, NULL)) AS 'membership_tc' , MAX(IF(field = 'membership_sc', value, NULL)) AS 'membership_sc' , MAX(IF(field = 'activitie_eng', value, NULL)) AS 'activitie_eng' , MAX(IF(field = 'activitie_tc', value, NULL)) AS 'activitie_tc' , MAX(IF(field = 'activitie_sc', value, NULL)) AS 'activitie_sc' FROM main_value_db group by pid ) as mv on m.id = mv.temp_matching_id where m.module = 'member' )