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!