BD. Consulta

Iniciado por OssoH, 9 Mayo 2011, 18:26 PM

0 Miembros y 1 Visitante están viendo este tema.

OssoH

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.






xassiz~

Creo que es porque no puedes resetear el A_I si hay datos en la tabla.

OssoH

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.   

xassiz~

Pues tendrás que borrar eses datos para ponerla a 1.

Puedes portarlos a otra tabla, y luego copiarlos.

OssoH

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? :(

xassiz~

¿Por qué putada? Puedes copiarlos con SQL, no tienes que hacerlo manualmente :rolleyes:

OssoH

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.


OssoH

No se si puede ayudar... el tipo de mi tabla es MYSAM

xassiz~

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

OssoH

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.