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

Problema tonto con Tabla

Estas en el tema de Problema tonto con Tabla en el foro de Bases de Datos General en Foros del Web. He visto que mi problema ya ha sido posteado en otros foros de este sitio y aun así no hay ninguno (que haya encontrado) que ...
  #1 (permalink)  
Antiguo 21/02/2008, 02:22
 
Fecha de Ingreso: diciembre-2007
Mensajes: 149
Antigüedad: 16 años, 11 meses
Puntos: 1
Problema tonto con Tabla

He visto que mi problema ya ha sido posteado en otros foros de este sitio y aun así no hay ninguno (que haya encontrado) que diga si se ha corregido el problema o no deje clara la solución por eso posteo de nuevo, es una tonteria pero a mi me tiene loco ya.

Lo tipico, añado una fila con INSERT INTO y el campo clave `idsubcrito` cuando borro todas las filas, no empieza desde 0, lo suyo sería que empezase desde 0 si borro todos los registros.

CREATE TABLE `subcritos` (
`idsubcrito` int(11) unsigned NOT NULL auto_increment,
`email` varchar(150) collate latin1_general_ci default NULL,
PRIMARY KEY (`idsubcrito`),
UNIQUE KEY `email` (`email`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=0 ;
  #2 (permalink)  
Antiguo 21/02/2008, 08:55
Avatar de Gabo77  
Fecha de Ingreso: noviembre-2006
Mensajes: 381
Antigüedad: 18 años
Puntos: 6
Re: Problema tonto con Tabla

Nop, ese no es el comportamiento habitual de auto_increment, verás, para no recorrer siempre la tabla en busca del valor mas alto del campo auto_increment, simplemente se marca el valor actual cuando insertas, es decir algo como que cada que vas insertando se le va sumando 1 a esa marca, pero cada que borras no se le resta 1, simplemente por que puedes borrar el último insertado ó el primero... o el de enmedio... añadir una lógica de rellena huecos sin recorrer la tabla sería pesado para las inserciones, es por esto que solo se agenda el contador de la ultima marca insertada, y aunque borres y tu tabla este vacía, el proximo valor a insertar será el ultimo que habías insertado más 1....

para reinicializar la tabla con el valor auto_increment puedes probar con un Drop Table y volver a crear la estructura, o simplemente usar (en SQLServer) el CheckIdentity con la siguiente sintaxis:

Código:
DBCC CHECKIDENT 
    ( 'table_name' 
        [ , { NORESEED 
                | { RESEED [ , new_reseed_value ] } 
            } 
        ] 
    )

saludos!
__________________
Hicimos un pacto con Dios... El no desarrolla Sistemas y nosotros no hacemos milagros....
  #3 (permalink)  
Antiguo 21/02/2008, 10:15
 
Fecha de Ingreso: diciembre-2007
Mensajes: 149
Antigüedad: 16 años, 11 meses
Puntos: 1
Re: Problema tonto con Tabla

Has respondido perfectamente a mi pregunta :D, pues no queda mas aguantarme o usar drop table porque uso MYsql no SQL y nose si se podran crean funciones, aunque me han dicho que disparadores ya usa. Asias buen hombre!!!! que dios bendiga a los que contestan!!! ajajajaj ;)
  #4 (permalink)  
Antiguo 21/02/2008, 13:50
Avatar de Gabo77  
Fecha de Ingreso: noviembre-2006
Mensajes: 381
Antigüedad: 18 años
Puntos: 6
Re: Problema tonto con Tabla

estoy seguro que MySQL tiene algo parecido a CheckIdent, pero como no conozco mucho de la nomenclatura de MySQL no tengo esa respuesta.... si alguien nos quisiera ayudar con ese dato?



saludos!
__________________
Hicimos un pacto con Dios... El no desarrolla Sistemas y nosotros no hacemos milagros....
  #5 (permalink)  
Antiguo 22/02/2008, 08:03
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 9 meses
Puntos: 13
Re: Problema tonto con Tabla

un autoincremet supongo que te crea una secuencia. No tienes que borrar la tabla solo resetear la secuencia.

Todo es una suposicion ya que no uso Mysql

Salu2
  #6 (permalink)  
Antiguo 22/02/2008, 09:26
Avatar de Gabo77  
Fecha de Ingreso: noviembre-2006
Mensajes: 381
Antigüedad: 18 años
Puntos: 6
Re: Problema tonto con Tabla

Sip, en SQL se hace con el reseed del ChekIdent, pero en MySQL ahi si no sabo :(
__________________
Hicimos un pacto con Dios... El no desarrolla Sistemas y nosotros no hacemos milagros....
  #7 (permalink)  
Antiguo 22/02/2008, 22:47
Avatar de Linterns
Colaborador
 
Fecha de Ingreso: diciembre-2001
Mensajes: 2.799
Antigüedad: 22 años, 11 meses
Puntos: 11
Re: Problema tonto con Tabla

Cita:
Iniciado por sk1one Ver Mensaje
Has respondido perfectamente a mi pregunta :D, pues no queda mas aguantarme o usar drop table porque uso MYsql no SQL y nose si se podran crean funciones, aunque me han dicho que disparadores ya usa. Asias buen hombre!!!! que dios bendiga a los que contestan!!! ajajajaj ;)
Si utilias MySql pprueba con:

ALTER TABLE nombre_tabla AUTO_INCREMENT=0
__________________
Bien se puede recibir una puñalada sin adulación,
pero rara vez se recibe una adulación sin puñalada
** ***
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 23:13.