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

Convertir tabla

Estas en el tema de Convertir tabla en el foro de Mysql en Foros del Web. Tengo una tabla "ID" normal, necesito cambiarla a autoincrement.. ¿Como se hace xD? Es que tengo varios registros volver a crear la tabla. perderia mucho ...
  #1 (permalink)  
Antiguo 23/12/2009, 05:23
Avatar de angel1993  
Fecha de Ingreso: octubre-2009
Mensajes: 752
Antigüedad: 14 años, 6 meses
Puntos: 22
Convertir tabla

Tengo una tabla "ID" normal, necesito cambiarla a autoincrement..
¿Como se hace xD?
Es que tengo varios registros volver a crear la tabla. perderia mucho tiempo volviendo a poner los registros..
  #2 (permalink)  
Antiguo 23/12/2009, 06:23
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Convertir tabla

sencillo:
lo primero es ver cuál es el ID más elevado que tienes ahora (imagino que será INT(11))
SELECT Max(ID) FROM tutabla.
imagina que es el 127
Pues primero haces primary key el campo ID, y luego sitúas el auto_increment en 128
1) ALTER TABLE `tutabla` DROP PRIMARY KEY, ADD PRIMARY KEY(`ID`)
2) alter table auto_increment=128

Y ya estará. Podrás seguir añadiendo sin que choque el auto_increment

Hay, claro, otras formas, creando una nueva tabla con la estructura de la que tienes y sin datos, y luego importando todos los datos excepto los ID, e incluso alguna otra forma más, pero yo probaría con la que te digo.
  #3 (permalink)  
Antiguo 23/12/2009, 08:08
Avatar de angel1993  
Fecha de Ingreso: octubre-2009
Mensajes: 752
Antigüedad: 14 años, 6 meses
Puntos: 22
Respuesta: Convertir tabla

Hola, e añadido como primare key con
ALTER TABLE `tutabla` DROP PRIMARY KEY, ADD PRIMARY KEY(`ID`)
Despues e puesto
alter table auto_increment=128
Pero me da como un error, yo creo que es por que no indico ni la tabla ni el campo que tiene que ser auto_increment..
e probado alter table usuarios auto_increment=128
pero me da error xDD
  #4 (permalink)  
Antiguo 23/12/2009, 08:18
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Convertir tabla

A ver, es verdad que olvidé ponerte la tabla
alter table tutabla auto_increment=128
pero el auto_increment es para la tabla, no para un campo: no lo olvides, pues la tabla sólo permite un primary key.
Estás poniendo el mismo número 128 que te puse en mi ejemplo, y podría ocurrir que ya lo tengas. Lo primero es que averigues cuál es tu máximo ID, y poner el número siguiente en lugar del 128.
Pon la estructura de creación de tu tabla para que veamos los tipos y tamaño de los campos.
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 05:31.