Ver Mensaje Individual
  #7 (permalink)  
Antiguo 30/12/2011, 13:43
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: añadir datos a un campo de una tabla

Cita:
lo que quiero es "añadir" datos (a los ya existentes) no modificarlos (con UPDATE).
Añadir "datos" a los ya existentes en un campo o columna de un registro es, para las Bases de Datos, exactamente lo mismo. La sentencia sigue siendo UPDATE, por lo que lo que se hace es modificar el contenido. El que sea agregar y no cambiar, es más o menos irrelevante para la sintaxis de la consulta, ya que sólo cambia la forma de escribir la asignación del dato (el SET) y no la consulta.
Cita:
no es exactamente un espacio lo que quiero crear, sino un cambio de línea
Desde el punto estricto del SQL, no hay "saltos de línea". Sólo hay datos que van a ir a un campo VARCHAR. Qué son esos datos, al SQL no le interesa, sino su tipo.
Un salto de línea es un caracter especial que no puede ingresarse vía consulta, porque no es representable como cadena de texto. En ese caso el agregar el caracter dependerá de varias cosas: el lenguaje de programación, la forma de manipular con SQL ese dato y el tipo de la columna donde se almacenará.
Una forma simple de hacerlo sería:
Código MySQL:
Ver original
  1. SET campo = CONCAT(campo, '\r', 'valor');
Esto sería aprovechando el manejo de caracteres escapados para agregar un retorno de carro (salto de linea) sin fin de párrafo.
Otros modos son más complejos y dependen del lenguaje de programación usado.
Cita:
No creo que sea necesario considerar que pongo N valores
En realidad debes considerarlo, porque no es lo mismo si me planteas poder agregar texto a un documento almacenado en un VARCHAR o TEXT, que si quieres guardar una lista de colores (blanco, negro, verde, rojo), identificadores de otra tabla (1, 45, 67, 9013), hijos de una persona o cosas iterables así.
En el primer caso, el método de enlazar lo nuevo a lo viejo es correcto. En el segundo caso NO, es una enorme metida de pata, porque si una entidad X tiene respecto de un dato una relación 1:N (uno a muchos valores) eso indica que debe existir una nueva entidad que administre esos valores, y eso se hace creando una tabla nueva para ese concepto.

Como puedes ver, eso es algo que tienes que resolver ahora, porque eso afectará todo el resto del desarrollo.

Así que ¿de qué se trata? ¿Agregar texto a otro, o una lista de valores pertenecientes a un atributo determinado?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)