2011-05-08 16 views
6

मैं इसMySQL - किसी मौजूदा फ़ील्ड/रिकॉर्ड में डेटा जोड़ने के सुझाव?

function events_exceptions($rec_id, $evt_id) 
{ 
//$evt_id = 1; 

$this->db->where('record_id', $rec_id); 
$this->db->update('events', array('exceptions' => $evt_id)); 
} 

तरह तालिका events, क्षेत्र exceptions को डेटा जोड़कर शुरू अगर मैं $evt_id = 2 के साथ फिर से इस चलाने मैं मिल जाएगा यह मैं

exceptions 
1 

दे देंगे

exceptions 
2 

और इसी तरह से।

मैं वास्तव में अद्यतन करने के बजाय उस क्षेत्र के लिए नए डेटा संलग्न करना चाहते हैं, तो मैं होता (अल्पविराम ध्यान दें)

exceptions 
1,2,3 //etc 

मुझे लगता है यह, डीबी के लिए कोई कॉल करने से पढ़ कर किया जा सकता है पंक्ति/फ़ील्ड की सामग्री, और PHP के माध्यम से concatenating - फिर रिकॉर्ड अद्यतन। लेकिन मैं इस तरह के उपरिव से बचना चाहता था।

क्या MySQL CONCAT के माध्यम से ऐसा करने का कोई तरीका है?

आपकी मदद के लिए धन्यवाद।

उत्तर

15
$query = "UPDATE table1 SET field1 = CONCAT(ifnull(field1,''),'$extra') WHERE id = '$id'"; 
+0

धन्यवाद - ऐसा लगता है जैसे यह काम करता है, लेकिन केवल तभी होता है जब उस क्षेत्र में पहले से मौजूद डेटा हो - यदि यह प्रारंभ करने के लिए खाली है, तो कथन कुछ भी नहीं करता है - हम इस मुद्दे को कैसे हल कर सकते हैं? – pepe

+2

असल में, अब मैं 'CONCAT_WS (',', FIELD1, '$ अतिरिक्त') पर स्विच कर चुका हूं और अब यह काम करता है - धन्यवाद! – pepe

+0

कोड के इस टुकड़े के लिए धन्यवाद। ऐसा लगता है कि मैं क्या देख रहा था। –

संबंधित मुद्दे