SoloCodigo
Bases de Datos => MySQL => Mensaje iniciado por: jj-tony en Viernes 27 de Octubre de 2006, 17:28
-
hola a todos los del foro soy nuevo aqui y tengo un problema muy similar a este
http:://foros.solocodigo.com/index.php?showtopic=21317
tengo una tabla con 5000 registros que tiene un campo autonumerico pero esta desfasado y quisiera saber si me puen decir como ejecutar un update multiple como el de ese topic probe las respuestas que hay ahi pero no me funcionaron en MySQL :( no quisiera tener que acomodar las 5000 tuplas
Les agradesco de antemano
jj-tony
-
update multiple??????
bajo que condicion?
tendrias que hacer 5000 sentencias, casi como hacerlo a 'mano'
Segun entiendo lo que quieres es reenumerar ¿cierto?
Supongamos que la tabla se llama empleados, tiene un campo llave idempleado que es auto incrementable, lo primero que hay que hacer es desactivar que sea llave (y tal vez quitarle el auto_increment) algo asi:
<!--sql--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>SQL </td></tr><tr><td id='CODE'><!--sql1-->[color=blue;font-weight]ALTER TABLE[/color] empleados,
MODIFY COLUMN idempleado INTEGER NOT NULL DEFAULT 0,
[color=blue;font-weight]DROP[/color] PRIMARY KEY;
<!--sql2--></td></tr></table><div class='postcolor'><!--sql3-->
Segun creo que los registros empiezan en 5000? hasta el 1000 ? o como es que estan desfasados?
supongamo que es como yo creo :P
<!--sql--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>SQL </td></tr><tr><td id='CODE'><!--sql1-->[color=blue;font-weight]UPDATE[/color] empleados set idempleado=idempleado - 4999
<!--sql2--></td></tr></table><div class='postcolor'><!--sql3-->
con esto reanumerarias del 1 al 5000 (si estan consecutivos 5000,5001...)
ahora hay que volver a hacer el campo llave, (y colocar el auto increment si lo quitaste)
<!--sql--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>SQL </td></tr><tr><td id='CODE'><!--sql1-->[color=blue;font-weight]ALTER TABLE[/color] empleados
MODIFY COLUMN idempleado INTEGER NOT NULL AUTO_INCREMENT,
ADD PRIMARY KEY(idempleado);
<!--sql2--></td></tr></table><div class='postcolor'><!--sql3-->
Para colocar el autonumerico en el siguiente...
<!--sql--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>SQL </td></tr><tr><td id='CODE'><!--sql1-->[color=blue;font-weight]ALTER TABLE[/color] empleados AUTO_INCREMENT = 5000;
<!--sql2--></td></tr></table><div class='postcolor'><!--sql3-->
Suerte
Espero te sirva
-
:o Super bien me ha funcionado a la perfeccion es exacto a lo que queria :smartass:
muchas gracias, hace tiempo queria responder pero... no recordaba mi password :lol:
Gracias
bye a todos