Foro de elhacker.net

Programación => 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
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
¿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
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!!