Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

[SOLUCIONADO] Insertar datos sin sobreescribir

Estas en el tema de Insertar datos sin sobreescribir en el foro de Mysql en Foros del Web. Hola a todos. Veréis, estoy hecho un lío. Estoy haciendo un blog para que escriba cualquier persona. Sé muy poco de sql, y el problema ...
  #1 (permalink)  
Antiguo 21/09/2014, 09:33
Musiker
Invitado
 
Mensajes: n/a
Puntos:
Insertar datos sin sobreescribir

Hola a todos.

Veréis, estoy hecho un lío. Estoy haciendo un blog para que escriba cualquier persona. Sé muy poco de sql, y el problema es que necesito guardar todos los posts de un mismo usuario, lógicamente sin que se sobreescriba el anterior. Lo he intentado con UPDATE, pero lo sobreescribe. También lo he intentado haciendo INSERT, pero inserta el mismo usuario 2 veces con diferentes posts, es decir, ocurre lo siguiente con INSERT:
Código SQL:
Ver original
  1. +------------+-------------------------------+
  2. | USUARIOS     | POSTS  |
  3. +------------+-------------------------------+
  4. | Usuario 1   | Este es el primer post     |
  5. | Usuario 1   | Este es el segundo post  |
  6. +-------+---------------+-------------------+


Lo que yo necesitaría sería:
Código SQL:
Ver original
  1. +------------+-------------------------------+
  2. | USUARIOS     | POSTS                        |
  3. +------------+-------------------------------+
  4. | Usuario 1   | Este es el primer post    |
  5. |             | Este es el segundo post      |
  6. +-------+---------------+-------------------+

Desconozco si es mejor hacerlo con varias tablas, o con una sola, y desconozco las instrucciones que me podría ayudar. ¿Alguna orientación? Gracias por adelantado
  #2 (permalink)  
Antiguo 22/09/2014, 02:28
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Insertar datos sin sobreescribir

No eso no es correcto. En la base de datos no debes tener los datos con esa estruectura.

Estructura corecta

Usuarios
idUsuarios
nombre
...

posts
idPosts
idUsuarios
post
fecha

Código MySQL:
Ver original
  1. FROM usuarios u INNER JOIN posts p ON u.idUsuarios=p.idUsuarios
  2. ORDER BY u.nombre,p.fecha

Te dará el listado que consideras incorrecto, no lo es, la salida que estas buscando debes construirla con programación externa. (OFF TOPIC)

INSERT INTO sirve para insertar nuevos registros.

UPDATE sirve para modificar registros existentes.

DELETE.....

SELECT....
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 22/09/2014, 03:29
Musiker
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Insertar datos sin sobreescribir

Cita:
Iniciado por quimfv Ver Mensaje
No eso no es correcto. En la base de datos no debes tener los datos con esa estruectura.

Estructura corecta

Usuarios
idUsuarios
nombre
...

posts
idPosts
idUsuarios
post
fecha

Código MySQL:
Ver original
  1. FROM usuarios u INNER JOIN posts p ON u.idUsuarios=p.idUsuarios
  2. ORDER BY u.nombre,p.fecha

Te dará el listado que consideras incorrecto, no lo es, la salida que estas buscando debes construirla con programación externa. (OFF TOPIC)

INSERT INTO sirve para insertar nuevos registros.

UPDATE sirve para modificar registros existentes.

DELETE.....

SELECT....
Muchísimas gracias quimfv por la generosa respuesta y la corrección. Solo una duda para ver si lo he comprendido. Para insertar un nuevo post en un usuario existente, debería hacer un INSERT INTO en post de la dentro de la tabla Posts, incluyendo la idUsuarios y el idPosts, como mínimo ¿no es así?
  #4 (permalink)  
Antiguo 22/09/2014, 04:09
Avatar de 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, 4 meses
Puntos: 2658
Respuesta: Insertar datos sin sobreescribir

Exacto.
Lo que habría que ver es si trabajarás con temas o hilos, ya que en ese caso habría una tabla más de Hilos o Temas, y la tabla Post dependería de ella.
Es el caso de este mismo foro.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 22/09/2014, 06:06
Musiker
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Insertar datos sin sobreescribir

Muchas gracias a ti también!!

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Exacto.
Lo que habría que ver es si trabajarás con temas o hilos, ya que en ese caso habría una tabla más de Hilos o Temas, y la tabla Post dependería de ella.
Es el caso de este mismo foro.

Etiquetas: sobreescribir, sql, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:05.