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

[SOLUCIONADO] base de datos mysql id?

Estas en el tema de base de datos mysql id? en el foro de Mysql en Foros del Web. buenas noches: el tema es;cuando un usuario se registra se va dando un id,id1,id2,id3,id4...y asi. pero claro cuando borras uno cuando estas de prueba. hay ...
  #1 (permalink)  
Antiguo 05/02/2014, 15:46
 
Fecha de Ingreso: mayo-2012
Mensajes: 363
Antigüedad: 12 años
Puntos: 0
base de datos mysql id?

buenas noches:

el tema es;cuando un usuario se registra se va dando un id,id1,id2,id3,id4...y asi.

pero claro cuando borras uno cuando estas de prueba.

hay mi pregunta:¿como hago para borrar todos los usuarios de prueba que he hecho y vuelva a contar de 1,2,3,4?(el id).

-e probado borrando todos los usuarios y nada continua desde el ultimo usuario NO desde el id1.
-e borrado:la tabla usuarios y he puesto el usuario;x ejemplo;manuel id1.
al registrar otro usuario nada no coje la id2 coje el ultimo id registrado.

¿como puedo hacerlo?
  #2 (permalink)  
Antiguo 06/02/2014, 02:58
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: base de datos mysql id?

Primero: no tiene la mas mínima importáncia, un identificador tiene que ser único, lo demas no importa.

Segundo: tienes dos formas de conseguir lo que para ti parece tan importante

1.- Despues de borrar todos los registros ejecuta

Código MySQL:
Ver original 

2.- Si hacer nada previamente

Código MySQL:
Ver original
  1. TRUNCATE TABLE usuarios

Pero insisto eso no tiene la más mínima importáncia ademas cuando se de de baja un usuario real el identificador dejará de ser consecutivo.... y no es aconsejable intentar reutilizar el id....

Y aún una tercera.... creo

Código MySQL:
Ver original
  1. UPDATE information_schema.TABLES SET AUTO_INCREMENT=1  where TABLE_SCHEMA='NombreDeTuBBDD' and TABLE_NAME='usuarios';

(ojo "NombreDeTuBBDD")
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 06/02/2014, 05:37
 
Fecha de Ingreso: mayo-2012
Mensajes: 363
Antigüedad: 12 años
Puntos: 0
Respuesta: base de datos mysql id?

No si lo q pasa q cuando un usuario cierra la cuenta sigue saliendo en el ranking pero no pone su nombre sino q aparece como un usuario q a jugado pero no tiene nombre x ejemplo:
Posicion nombre alianza
1. Juan. Dre
2. No sale Lred( pues este usuario a jugado pero sigue saliendo en el ranking)
3. Pepe. alza
---------cierra la cuenta se borra el id pero el usuario sigue apareciendo y como al consultar en la base de datos los usuarios,pues da q hay tantos id....
  #4 (permalink)  
Antiguo 06/02/2014, 05: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, 5 meses
Puntos: 2658
Respuesta: base de datos mysql id?

Cita:
Iniciado por santi2892009 Ver Mensaje
No si lo q pasa q cuando un usuario cierra la cuenta sigue saliendo en el ranking pero no pone su nombre sino q aparece como un usuario q a jugado pero no tiene nombre x ejemplo:
Posicion nombre alianza
1. Juan. Dre
2. No sale Lred( pues este usuario a jugado pero sigue saliendo en el ranking)
3. Pepe. alza
---------cierra la cuenta se borra el id pero el usuario sigue apareciendo y como al consultar en la base de datos los usuarios,pues da q hay tantos id....
No se entiende mucho, pero lo que parece es que tienes errores en el diseño del sistema, ya que un usuario no debería "desaparecer", sino que no debería aparecer como activo en una partida.
En todo caso, un ranking del tipo que describes no es incorrecto, ya que serían los que han participado (pasado).
En todo caso lo que tienes es consultas mal diseñadas, porque no estás buscando los que están participando (presente).

Describenos un poco mejor como es la query donde buscas los usuarios.
__________________
¿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 06/02/2014, 06:27
 
Fecha de Ingreso: mayo-2012
Mensajes: 363
Antigüedad: 12 años
Puntos: 0
Respuesta: base de datos mysql id?

Asi hago la consulta:
Código SQL:
Ver original
  1. SELECT id,charname,nivel,experience,nombreclan
  2. FROM {{TABLE}}
  3. ORDER BY experience DESC, nivel DESC
  4. LIMIT ".($pagina-1)*$noRegistros.",".$noRegistros

Última edición por gnzsoloyo; 06/02/2014 a las 06:38
  #6 (permalink)  
Antiguo 06/02/2014, 06:29
 
Fecha de Ingreso: mayo-2012
Mensajes: 363
Antigüedad: 12 años
Puntos: 0
Respuesta: base de datos mysql id?

La tabla pues lo tipco: id,usuario,clan,experiencia,nivel,armas,comercio,v alidado,fecha
  #7 (permalink)  
Antiguo 06/02/2014, 06:36
 
Fecha de Ingreso: mayo-2012
Mensajes: 363
Antigüedad: 12 años
Puntos: 0
Respuesta: base de datos mysql id?

Eso d activo y inactivo (seria los q juegan y los q han cerrado su cuenta),pero eso como lo podria hacer
Yo lo q habia pensado era:tabla ranking:
Id,nombre,clan,puntuaje activo e cierre de cuenta(0 ,1).
Cuando un usuario cierre la cuenta salga 1 y cuando esta jugando 0.
Hay hacer las consultas y imprimir solo las d activo en este caso 0 ,pero d hay a hacerlo...nose como
  #8 (permalink)  
Antiguo 06/02/2014, 06: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: base de datos mysql id?

No postees código PHP, sólo SQL (Reglas del foro)
Bueno, yendo al problema, es exactamente lo que te dije: No estás poniendo ninguna validación referida al estado de los usuarios participantes del juego, por lo que si no se borró de la tabla, deberá salir.

En términos generales me hace pensar en un modelo de datos mal diseñado, pero sin concoer detalles de su estructura es difícil saberlo.
¿Existe en la tabla (que no aparece acá) algún campo que identifique el estado de cada participante, o cómo gestionas eso?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #9 (permalink)  
Antiguo 06/02/2014, 06:54
liranan
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: base de datos mysql id?

Si al borrar a un usuario sigue apareciendo en un ranking, da la impresión de que hay otra tabla en la que se guarda el id de ese usuario.
Por lo tanto deberías tener cuidado de que cada vez que borres un usuario lo borres de todas las tablas en las que aparezca su ID
  #10 (permalink)  
Antiguo 06/02/2014, 06:56
 
Fecha de Ingreso: mayo-2012
Mensajes: 363
Antigüedad: 12 años
Puntos: 0
Respuesta: base de datos mysql id?

Ooo no,estado no lo puse
  #11 (permalink)  
Antiguo 06/02/2014, 07:57
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: base de datos mysql id?

Cita:
Iniciado por liranan Ver Mensaje
Si al borrar a un usuario sigue apareciendo en un ranking, da la impresión de que hay otra tabla en la que se guarda el id de ese usuario.
Por lo tanto deberías tener cuidado de que cada vez que borres un usuario lo borres de todas las tablas en las que aparezca su ID
Seria tan facil como definir la FK con ON DELETE CASCADE.

En cualquier caso no tiene nada que ver con los autoincrementales que preguntabas inicialmente.

Si lo que quieres es numerar los jugadores de una partida del primero al ultimo no uses su id, asignales un numero en el momento que los admites en la partida.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #12 (permalink)  
Antiguo 06/02/2014, 09:34
 
Fecha de Ingreso: mayo-2012
Mensajes: 363
Antigüedad: 12 años
Puntos: 0
Respuesta: base de datos mysql id?

Bueno pos voy a programar los estados 0 conectado,1 desconectado,2 baneado,3 cuenta cerrada,4 vaciones,a ver q tal m sale.y x lo dl ranking vi q en otras tablas habia d los usuarios q no borre,asi me quito d lios d q cierren la cuenta y no salga el nombre,luego a ver como m las ingenio para hacer q el ranking solo muestre usuarios activos jugadores q no hayan cerrado la cuenta,pero muchas gracias al preguntar una cosa m has sacado d dudas en varias

Ahora mi duda es como imprimo en el ranking solo los que no hayan cerrado su cuenta,(consultar a la tabla usuarios eso).

Etiquetas: tabla, usuarios
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 18:15.