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

Como intercalar registros en en una base de datos mysql?

Estas en el tema de Como intercalar registros en en una base de datos mysql? en el foro de Mysql en Foros del Web. Hola a tod@s. Soy nuevo en el foro y en el manejo de mysql. Estoy creando una web a través de phpmyadmin y tengo varias ...
  #1 (permalink)  
Antiguo 26/05/2011, 13:37
 
Fecha de Ingreso: mayo-2011
Mensajes: 4
Antigüedad: 13 años
Puntos: 0
Como intercalar registros en en una base de datos mysql?

Hola a tod@s.
Soy nuevo en el foro y en el manejo de mysql.
Estoy creando una web a través de phpmyadmin y tengo varias tablas con productos.
El campo Id es autoincrement y el problema que tengo es que si quiero intercalar algún registro nuevo mediante insert, me los coloca al final de la tabla.
Existe alguna forma de intercalar un registro y que el resto de "id" se actualicen con un nuevo número?
Perdonar mi ignorancia.
  #2 (permalink)  
Antiguo 26/05/2011, 13:41
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, 5 meses
Puntos: 2658
Respuesta: Como intercalar registros en en una base de datos mysql?

No. Una base de datos no es una hoja de Excel. La PK es la que determina el orden físico de los registros, por lo que para hacer lo que quieres habría que 2mover" todos los ID.
Si lo que quieres es que en la presentación la tabla tenga otro orden basado en otro campo, eso se hace en las consultas, con ORDER BY y no tocando la PK.
__________________
¿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 26/05/2011, 13:59
 
Fecha de Ingreso: mayo-2011
Mensajes: 4
Antigüedad: 13 años
Puntos: 0
Respuesta: Como intercalar registros en en una base de datos mysql?

En las consultas veo los artículos ordenados mediante ORDER BY, pero si observo la tabla a través del navegador, los artículos están ordenados mediante su Id
  #4 (permalink)  
Antiguo 26/05/2011, 15:34
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, 5 meses
Puntos: 2658
Respuesta: Como intercalar registros en en una base de datos mysql?

Debe haber un error o en la consulta que usas para la tabla del formulario, o bien en el código que genera la tabla en él.
¿Cómo es la consulta en SQL?
__________________
¿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 26/05/2011, 16:02
 
Fecha de Ingreso: mayo-2011
Mensajes: 4
Antigüedad: 13 años
Puntos: 0
Respuesta: Como intercalar registros en en una base de datos mysql?

Mi consulta es:
Cita:
$sql = 'SELECT * FROM `Productos2` ORDER BY `Categoria` ASC LIMIT 0, 30 ';
Como puedo hacer para que la tabla quede ordenada permanentemente en este sentido y se visualice ordenada a través del navegador?
  #6 (permalink)  
Antiguo 26/05/2011, 16:25
 
Fecha de Ingreso: mayo-2011
Mensajes: 4
Antigüedad: 13 años
Puntos: 0
Respuesta: Como intercalar registros en en una base de datos mysql?

Conseguí que se viese ordenado insertando ORDER BY en el código php que visualiza la página.
Gracias por tu ayuda.
De todas formas, no queda exactamente como yo quiero pues logicamente el orden es alfabético y me intertesaría que apareciesen de otra manera.
Es una pena que no se puedan insertar registros en medio de la tabla. No sé si exportándola, manejándola con excel y volviendo a importarla.
  #7 (permalink)  
Antiguo 26/05/2011, 16:52
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, 5 meses
Puntos: 2658
Respuesta: Como intercalar registros en en una base de datos mysql?

No conseguirías nada. Los principios son distintos e incompatibles.

Lo que me extraña es que no obtengas el resultado con la consulta, ya que no existen razones para que el orden generado por el ORDER BY sobre categoría aparezca luego en PHP de otra forma.
Código MySQL:
Ver original
  1. FROM `Productos2`
  2. ORDER BY `Categoria` ASC
  3. LIMIT 0, 30
Esto te debería estar devolviendo la tabla ordenada por categoría.
¿Podrías mostrar cómo te aparece a tí?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: registros
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 02:13.