Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => Bases de Datos => Mensaje iniciado por: OssoH en 9 Mayo 2011, 18:26 PM

Título: BD. Consulta
Publicado por: OssoH en 9 Mayo 2011, 18:26 PM
Hola a todos:
Se me plantea una duda y quisiera saber si hay solución. Antes de comenzar sé y soy consciente que lo que planteo de entrada puede chocar bastante porque no es lo habitual pero por desgracia es lo que necesito y explicarlo llevaría demasiado tiempo explicarlo. Os resumo....

tengo una tabla en mysql llamada ps_image con campos
id_image   int(11) autoincrement
nombre     varchar(40)

ahora mismo la tengo rellenada de esta forma :
id_image  nombre
2200000000   sdfasfa
2200000001  sdfasfasdfa
2200000002   dsfsafasf
....
2200000100  sdfasfasf

Lo que me planteo ahora es que los siguientes que introduzca comiencen con el id_product=1. Lo que hago es lanzar la siguiente orden mysql =>  Alter table ps_image auto_increment = 1   y al insertar un nuevo registro en vez de comenzar por id_image=1 continua por el 2200000101.

¿Qué puede estar pasando?

En cambio si hago => Alter table ps_image auto_increment = 5000000000  y agrego un nuevo registro si que comienza por id_image=5000000000 .

Muchas Gracias.





Título: Re: BD. Consulta
Publicado por: xassiz~ en 9 Mayo 2011, 18:30 PM
Creo que es porque no puedes resetear el A_I si hay datos en la tabla.
Título: Re: BD. Consulta
Publicado por: OssoH en 9 Mayo 2011, 18:36 PM
Los únicos datos que hay en esa tabla son del :

id_image   
2200000000   sdfasfa
2200000001  sdfasfasdfa
2200000002   dsfsafasf
....
2200000100  sdfasfasf


Los id_image desde el 1 al 2199999999 no existen.   
Título: Re: BD. Consulta
Publicado por: xassiz~ en 9 Mayo 2011, 18:47 PM
Pues tendrás que borrar eses datos para ponerla a 1.

Puedes portarlos a otra tabla, y luego copiarlos.
Título: Re: BD. Consulta
Publicado por: OssoH en 9 Mayo 2011, 18:48 PM
Cita de: xassiz~ en  9 Mayo 2011, 18:47 PM
Pues tendrás que borrar eses datos para ponerla a 1.

Puedes portarlos a otra tabla, y luego copiarlos.


ufff, eso sería una putada, ¿de verdad que no hay otra forma sin borrar la tabla? :(
Título: Re: BD. Consulta
Publicado por: xassiz~ en 9 Mayo 2011, 18:51 PM
¿Por qué putada? Puedes copiarlos con SQL, no tienes que hacerlo manualmente :rolleyes:
Título: Re: BD. Consulta
Publicado por: OssoH en 9 Mayo 2011, 18:52 PM
Cita de: xassiz~ en  9 Mayo 2011, 18:51 PM
¿Por qué putada? Puedes copiarlos con SQL, no tienes que hacerlo manualmente :rolleyes:

He encontrado lo siguiente :

También se puede reinicializar el valor del auto_increment, pero teniendo en cuenta que no se puede usar un valor menor o igual que uno que ya se haya usado. Por lo que habrá que tener cuidado en las exportaciones.
alter tabla tabla auto_increment=50;

luego me temo que tendre que buscar alternativas a mi problema.

Título: Re: BD. Consulta
Publicado por: OssoH en 9 Mayo 2011, 19:07 PM
No se si puede ayudar... el tipo de mi tabla es MYSAM
Título: Re: BD. Consulta
Publicado por: xassiz~ en 9 Mayo 2011, 22:08 PM
Cita de: OssoH en  9 Mayo 2011, 18:52 PM
Por lo que habrá que tener cuidado en las exportaciones.
alter tabla tabla auto_increment=50;

Pero entonces tu valor menor es "2200000000" XDD
Título: Re: BD. Consulta
Publicado por: OssoH en 9 Mayo 2011, 22:17 PM
Si, ese es mi valor menor y lo que puedo hacer es forzar por el phpmyadmin un registro con id_image=1 pero luego al insertar el siguiente registro con ordenes SQL INSERT no me pone el correlativo que en este caso sería el 2.
Título: Re: BD. Consulta
Publicado por: OssoH en 9 Mayo 2011, 23:10 PM
Pido al adminitrador que por favor borre este post.
El error era muy tonto y ya está solucionado. Además había planteado el problema mal desde el principio.
Hay días que mejor no levantarse para programar jeje.
Disculpas!!