जब यह प्रश्न
UPDATE tabex SET field1=CONCAT(tabex.a1,', ',tabex.a2,', ',tabex.a3,', ',tabex.a4,', ',tabex.a5,', ',tabex.a6,', 'tabex.a7,', ',tabex.a8,', ',tabex.a9 );
एक पंक्ति को प्रभावित नहीं करता है, केवल स्पष्टीकरण यह होगा कि तालिका खाली है। यह तालिका में प्रत्येक पंक्ति को अद्यतन करेगा। लेकिन अगर कॉलम में से एक NULL है, तो आपका फील्ड1 कॉलम भी NULL होगा।
इससे बचने के लिए, आपको COALESCE() फ़ंक्शन का उपयोग करना होगा। यह फ़ंक्शन अपने पहले पैरामीटर को लौटाता है जो NULL नहीं है।
UPDATE tabex SET field1=CONCAT(COALESCE(tabex.a1, ''),', ',...);
एक विचार पर मुझे पूछना है, आप ऐसा क्यों करना चाहते हैं। स्तंभों में अल्पविराम से अलग किए गए मान अधिकांश समय एक बुरा विचार होते हैं।
और अंत में, CONCAT_WS() का उपयोग करके आपकी क्वेरी गलत है। फ़ंक्शन नाम में _WS "विभाजक के साथ" के लिए छोटा है, इसलिए पहला पैरामीटर विभाजक है जिसे तब फ़ंक्शन के अन्य मापदंडों के बीच रखा जाता है। तो आपको इसे इस तरह लिखना चाहिए:
UPDATE tabex SET field1=CONCAT_WS(',', tabex.a1, tabex.a2, tabex.a3,...);
CONCAT_WS() फ़ंक्शन का एक अन्य लाभ यह है कि यह NULL मानों की उपेक्षा करता है। मैनुअल में दो कार्यों के बारे में और पढ़ें ।