2011-05-08 11 views
6

que empiezan por la adición de datos a la tabla events, campo exceptions como estoMySQL: sugerencias para agregar datos a un campo/registro existente?

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)); 
} 

Esto me dará

exceptions 
1 

Si me quedo de nuevo con este $evt_id = 2 Voy a

exceptions 
2 

y así sucesivamente.

quiero anexar realidad los nuevos datos en ese campo en lugar de actualización, por lo que tendría (tenga en cuenta la coma)

exceptions 
1,2,3 //etc 

creo que esto se puede hacer mediante una llamada a la base de datos, la lectura de la contenido de la fila/campo, y la concatenación a través de PHP, y luego actualizar el registro. Pero quería evitar tal sobrecarga.

¿Hay una manera de hacer esto a través de MySQL CONCAT?

Gracias por su ayuda.

Respuesta

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

gracias - parece que funciona, pero sólo si hay datos que ya están en ese campo - si está vacío, para empezar, la declaración no hace nada - ¿cómo podemos solucionar este problema? – pepe

+2

en realidad, ahora cambié a 'CONCAT_WS (',', FIELD1, '$ extra')' y ahora funciona, ¡gracias! – pepe

+0

Gracias por este fragmento de código. Parece ser lo que estaba buscando. –

Cuestiones relacionadas