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

Mysql, duda al eliminar registros.-

Estas en el tema de Mysql, duda al eliminar registros.- en el foro de Mysql en Foros del Web. Buenas Noche, les cuento que es lo que me sucede.. resulta que en una tabla tengo los sigueintes 3 registros: y al eliminar uno de ...
  #1 (permalink)  
Antiguo 02/07/2009, 20:36
Avatar de McBlink  
Fecha de Ingreso: noviembre-2006
Ubicación: $ARG->LaPampa()
Mensajes: 1.694
Antigüedad: 17 años, 5 meses
Puntos: 23
Mysql, duda al eliminar registros.-

Buenas Noche,
les cuento que es lo que me sucede..
resulta que en una tabla tengo los sigueintes 3 registros:




y al eliminar uno de ellos, en este caso el 2º e insertar otro nuevo, el 4º, éste ultimo queda ordendo de la siguiente manera...:







Porqué sucede ésto y no queda ordenador los registros por ID 1º 3º y 4º ??

Muchas Gracias
  #2 (permalink)  
Antiguo 02/07/2009, 23:25
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Mysql, duda al eliminar registros.-

parece ordenar por u, y que u sea varchar, y cuando creaste esa tabla, fue el primer campo que creaste. ¿Es eso? En teoría, ordena, creo, por los campos tal y como los tiene almacenados.
Dinos la naturaleza de cada uno de los campos (su tipo) y si hay algún primary key, etc.
De todas formas, si quieres ordenar por algún campo, usa ORDER BY.

Última edición por jurena; 02/07/2009 a las 23:34
  #3 (permalink)  
Antiguo 03/07/2009, 03:35
Avatar de McBlink  
Fecha de Ingreso: noviembre-2006
Ubicación: $ARG->LaPampa()
Mensajes: 1.694
Antigüedad: 17 años, 5 meses
Puntos: 23
Respuesta: Mysql, duda al eliminar registros.-

Gracias Jurena por responder..
quería aclarar que sucede lo mismo si elimino por ejemplo el 1er registro, el 4to se ubica en el primer lugar de la tabla.. y no los ordena por "c" mira éste ejemplo que e dejo en imagenes..




....




Con respecto a la tabla, el campo "c" y otros los agregué luego de crearla.. pero no creo que tenga algo que ver o si?
y la clave primaria en "id"

Código:
CREATE TABLE `user` (
`id` INT( 5 ) NOT NULL AUTO_INCREMENT ,
`uid` INT( 5 ) NOT NULL ,
`cid` INT( 6 ) NOT NULL ,
`comienzo` INT( 15 ) NOT NULL ,
`finaliza` INT( 15 ) NOT NULL ,
PRIMARY KEY ( `id` )
);
Luego a ésa tabla le agregue dos o tres campos más.. ah! y no es varchar, son todos INT (ya me olvidaba de responderte)


Muchas Gracias jurena
  #4 (permalink)  
Antiguo 03/07/2009, 09:50
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Mysql, duda al eliminar registros.-

McBlink,
Parece que cuando borras un registro, el espacio es ocupado con el siguiente que insertas. De ahí que aparezca el cuatro en el lugar del dos (que fue el borrado), y en el lugar del uno, si este es el borrado. Así pues, el orden es la posición en que está almacenado.
Leí algo al respecto aquí:
http://www.gamedev.net/community/for...opic_id=411332
Imagino que para que eso haya ocurrido, pero deberías decirnos cuál es tu consulta, porque quizás no sea lo mismo SELECT * FROM user que SELECT id, cid,uid FROM user. No lo sé. De todas formas, yo probaría la consulta también por consola y no sólo en PHPMyAdmin, para ver si hay algún cambio.

Última edición por jurena; 03/07/2009 a las 12:07
  #5 (permalink)  
Antiguo 04/07/2009, 09:50
Avatar de McBlink  
Fecha de Ingreso: noviembre-2006
Ubicación: $ARG->LaPampa()
Mensajes: 1.694
Antigüedad: 17 años, 5 meses
Puntos: 23
Respuesta: Mysql, duda al eliminar registros.-

Gracias Jurena.. d momento lo soluciono ejecutando las consultas correspondientes con ORDER BY id ASC, de éste modo es como si estuvieran ordenados.. pero me llama la atencion porque hace ésto..

Muchas Gracias!


PD: si alguien sabe algo más, aunque ya lo solucioné como dije, seria interesante ver si siempre hace ésto o es un caso "particular". Nose si tendrá algo que ver el INDEX o la CLAVE PRIMARIA..


Saludos.
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:08.