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

Duda sobre consulta

Estas en el tema de Duda sobre consulta en el foro de Mysql en Foros del Web. Hola a todos. Estoy intentando hacer una consulta que haga lo siguiente: Actualizar la idUsuarios de la tabla posts, para que esa id sea la ...
  #1 (permalink)  
Antiguo 22/10/2014, 12:24
Musiker
Invitado
 
Mensajes: n/a
Puntos:
Duda sobre consulta

Hola a todos.

Estoy intentando hacer una consulta que haga lo siguiente:

Actualizar la idUsuarios de la tabla posts, para que esa id sea la misma que la idUsuarios de la tabla usuarios. Lo he planteado de esta forma, pero no sé exactamente cómo es. ¿Alguien me ayuda? Muchas gracias por adelantado :)

Código MySQL:
Ver original
  1. UPDATE idUsuarios FROM posts WHERE idUsuarios.posts ='idUsuarios.usuarios'
  #2 (permalink)  
Antiguo 22/10/2014, 12:29
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: Duda sobre consulta

No queda claro lo que quieres hacer... Pero da la imrpesión de que no tienes claro el ciclo de isnerciones de tablas relacioandas.
Cuando insertas un post de un determinado usuario, tienes que insertar al mismo tiempo el ID del usuario autor del post. No es algo que vayas a hacer en dos etapas... Lo haces al mismo tiempo.
Por supuesto que el usuario tiene que existir previamente. Eso desde ya.

Por otro lado, estás escribiendo mal la indicacion de tablas/campos. Eso tiene un estandar uiversal, donde se indica: baseDeDatos.Tabla.Campo, y nunca al revés. De todos modos la query que planteas está mal en otros sentidos, por lo que no te servirá.

Explivanos cómo es el proceso que ideaste, a nivel de BBDD (no programacion).
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 22/10/2014, 12:44
Musiker
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Duda sobre consulta

Hola! Gracias por contestar tan rápido! :) Sí, el "idusuario" del autor del post lo inserto automáticamente (auto incremental) cuando el usuario se registra, pero claro, el problema es que no sé cómo insertar la "idpost" de ese autor, cada vez que inserta un post, porque ya existe un campo autoincremental. Supongo que habrá sumándole 1 a idPost cuando el usuario escriba. En cualquier caso, mi idea era esta, no sé si será correcto:

Buscar Usuario:

. Si no existe:


Tabla Usuarios:


- Suma 1 a idUsuario (autoincremental)

- Inserta post

- Inserta fecha



Tabla Posts:

- Suma 1 a idPosts

- Actualizar el valor de la tabla del idUsuarios de la tabla Usuarios (autoincremental)

- Inserta post

- Inserta fecha


. Si existe:


Tabla Usuarios:


- No hace nada


Tabla Posts:

- Suma 1 a idPosts

- Actualizar el valor de la tabla del idUsuarios de la tabla Usuarios (autoincremental)

- Inserta post

- Inserta fecha


Cita:
Iniciado por gnzsoloyo Ver Mensaje
No queda claro lo que quieres hacer... Pero da la imrpesión de que no tienes claro el ciclo de isnerciones de tablas relacioandas.
Cuando insertas un post de un determinado usuario, tienes que insertar al mismo tiempo el ID del usuario autor del post. No es algo que vayas a hacer en dos etapas... Lo haces al mismo tiempo.
Por supuesto que el usuario tiene que existir previamente. Eso desde ya.

Por otro lado, estás escribiendo mal la indicacion de tablas/campos. Eso tiene un estandar uiversal, donde se indica: baseDeDatos.Tabla.Campo, y nunca al revés. De todos modos la query que planteas está mal en otros sentidos, por lo que no te servirá.

Explivanos cómo es el proceso que ideaste, a nivel de BBDD (no programacion).
  #4 (permalink)  
Antiguo 22/10/2014, 12:57
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: Duda sobre consulta

Bueno, hay algunos erroes de concepto. Te lo voy a plantear de esta forma para que tal vez podamos acercarnos al problema:
- Cuando un usuario se registra en el sistema, se genera un ID autoincremental para el mismo que actaurá como identificador del usuario. Este ID se debe recuperar en el mismo acto del alta, y guardarlo en la aplicación mientras dura la sesión.
- Cuando el usuario se loguea, se recupera el ID del mismo por medio de una consulta y se almacena en la aplicacion mientras dura la sesión.
- Al crearse un post nuevo, el post tendrá su propio ID en el alta, y al mismo tiempo se debe insertar en el campo de la tabla de posts que es FK de la tabla usuarios, el ID del usuario que lo genera.

Lo que me da la impresión por lo que describes es que no tienes claro el modelo E-R, y las bases ed datos relacionales, ya que no pareces conocer lo que es una relación PK<-FK.
¿Me equivoco?
__________________
¿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/10/2014, 13:07
Musiker
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Duda sobre consulta

Gracias de nuevo. La verdad es que estoy empezando ahora a aprender lo que significa todo eso de las FK y las PK, pero a nivel autodidacta, y me está resultado un poco complejo. Creo que una tiene que apuntar a la otra, y que la foránea se llama así porque está en una tabla "separada" o algo asi. Pero poco más sé. De hecho, he probado con mil relaciones internas distintas entre esas tablas, estableciendo FK y PK, sin mucho acierto...

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Bueno, hay algunos erroes de concepto. Te lo voy a plantear de esta forma para que tal vez podamos acercarnos al problema:
- Cuando un usuario se registra en el sistema, se genera un ID autoincremental para el mismo que actaurá como identificador del usuario. Este ID se debe recuperar en el mismo acto del alta, y guardarlo en la aplicación mientras dura la sesión.
- Cuando el usuario se loguea, se recupera el ID del mismo por medio de una consulta y se almacena en la aplicacion mientras dura la sesión.
- Al crearse un post nuevo, el post tendrá su propio ID en el alta, y al mismo tiempo se debe insertar en el campo de la tabla de posts que es FK de la tabla usuarios, el ID del usuario que lo genera.

Lo que me da la impresión por lo que describes es que no tienes claro el modelo E-R, y las bases ed datos relacionales, ya que no pareces conocer lo que es una relación PK<-FK.
¿Me equivoco?
  #6 (permalink)  
Antiguo 22/10/2014, 13:12
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: Duda sobre consulta

Las bases de datos no son tema fácil, aunque tampoco son un misterio. El mayor inconveneinte para los autodidactas es que es el área más cercana al analisis de sistemas que vas a encontrar, y requiere tener minimamente claro de qué se habla con ciertas cosas.
Es un área muy técnica.

Te recomiendo que antes de avanzar leas al menso los artículso de Wikipedia, que estan expresados en un lenguaje claro y accesible:
Modelo Entidad-Relación
Base de datos relacional

Pregunta cualquier duda, pero no intentes crear bases sin por lo menos entender los conceptos básicos de relaciones, claves primarias y foráneas. De lo contrario leugo tendrás que tirar a la basura todo y empezar de nuevo.
Y no es una borma.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 22/10/2014, 13:22
Musiker
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Duda sobre consulta

Tendré en cuenta todo eso que me has explicado y aconsejado!! Muchísimas gracias por todo!!!

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Las bases de datos no son tema fácil, aunque tampoco son un misterio. El mayor inconveneinte para los autodidactas es que es el área más cercana al analisis de sistemas que vas a encontrar, y requiere tener minimamente claro de qué se habla con ciertas cosas.
Es un área muy técnica.

Te recomiendo que antes de avanzar leas al menso los artículso de Wikipedia, que estan expresados en un lenguaje claro y accesible:
Modelo Entidad-Relación
Base de datos relacional

Pregunta cualquier duda, pero no intentes crear bases sin por lo menos entender los conceptos básicos de relaciones, claves primarias y foráneas. De lo contrario leugo tendrás que tirar a la basura todo y empezar de nuevo.
Y no es una borma.

Etiquetas: 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 08:23.