Foros del Web » Programando para Internet » PHP »

borrar 1 fila de mysql y autoincrement

Estas en el tema de borrar 1 fila de mysql y autoincrement en el foro de PHP en Foros del Web. Buenas: tengo un tabla la cual tiene unas informaciones sobre unos tutoriales, lo que pasa es que yo desde el panel de administración si quiero ...
  #1 (permalink)  
Antiguo 20/12/2007, 04:39
 
Fecha de Ingreso: noviembre-2007
Mensajes: 229
Antigüedad: 16 años, 5 meses
Puntos: 0
borrar 1 fila de mysql y autoincrement

Buenas:

tengo un tabla la cual tiene unas informaciones sobre unos tutoriales, lo que pasa es que yo desde el panel de administración si quiero borrar una de estas entradas quiero que el id (auto increment) quiero k a los siguientes id se le reste uno.
he hecho un codigo pero no funciona...

$ide almacena la fila k se borra y a partir de la que se empieza a restar 1 a los demas autoincrement...
$updocs Numero total de filas...

Código PHP:
 $era="DELETE FROM updoc WHERE id='$ide'";
            
$sec=$ide+1;
            
mysql_query($era);
            for ( 
$i $sec $i <= $updocs $i ++) {
            
$d="SELECT nombre,url,date,user FROM updoc WHERE id='$i'";
            
$d=mysql_query($d);
            
$d=mysql_fetch_object($d);
            
            
mysql_query("update from updoc set id='$i-1' where url='$d->url'");
            }
            
$tbl="ALTER TABLE `updoc` PACK_KEYS =0 CHECKSUM =0 DELAY_KEY_WRITE =0 AUTO_INCREMENT = $updocs-1";
            
mysql_query($tbl); 
haber si me pueden ayudar...
  #2 (permalink)  
Antiguo 20/12/2007, 05:00
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 19 años, 1 mes
Puntos: 17
Re: borrar 1 fila de mysql y autoincrement

Se puede hacer... pero no es lógico cambiar todos los IDs... tendrías que corregir todas las relaciones que puede tener la tabla... mejor podrías generar otra columna que sea un falso ID con el valor que vos querés
  #3 (permalink)  
Antiguo 20/12/2007, 05:14
 
Fecha de Ingreso: noviembre-2007
Mensajes: 229
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: borrar 1 fila de mysql y autoincrement

k signifika k tendria k korregir todas las relaciones que puede tener la tabla...??

en todo kaso me interesa hacerlo asi por que aparte la tabla es una tabla pekeña como muxo tendrá diez entradas...

pero mercii de todas formass aunque depende de como vea el funcionamiento una vez consiga como hacerlo pruebo como me as dixo...

por cierto sabes cual puede ser el error de mi codigo??

por que la entrada me la borra pero ni me cambia el autoincrement ni resta uno a los Id...

mercii por todo
  #4 (permalink)  
Antiguo 20/12/2007, 08:53
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
Re: borrar 1 fila de mysql y autoincrement

Supongo que a lo que se refiere Seppo con "tendrías que corregir todas las relaciones que puede tener la tabla" es que verfiques si hay dependencias hacia esta tabla, si las hay ya depende de ti si modificarlas o de plano eliminarlas.

Ahora bien, para que quieres modificar el id de tu columna? esta para poderte proponer una mejor solución a tu problema.

Saludillos.
  #5 (permalink)  
Antiguo 20/12/2007, 10:27
 
Fecha de Ingreso: noviembre-2007
Mensajes: 229
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: borrar 1 fila de mysql y autoincrement

lo que quiero es para que no haya saltos de columnak si borro la entrada con la id numero 3 que no pase de la dos a la tres...
  #6 (permalink)  
Antiguo 20/12/2007, 11:37
Avatar de _ssx  
Fecha de Ingreso: mayo-2003
Ubicación: mX
Mensajes: 683
Antigüedad: 21 años
Puntos: 60
Re: borrar 1 fila de mysql y autoincrement

Creo que lo que tratas de hacer va contra las buenas costumbres del desarrollo de una base de datos, imaginate si en el sistema hicieras referencia a un registro por su ID y derepente lo borras y pones otro.. encontrarian información falsa, ese reordenamiento estricto que deseas puedes hacerlo en una columna que "tu tengas el control" y dejar el campo autoincrement para operaciones de la base de datos.. tal vez algo como..

Id_autoincrement | Registro | orden |

1 prueba 1
2 pruebax 2
3 loco 3
4 test 4
6 test2 5
__________________
Escribe tu código de forma que refleje, y saque a relucir,lo mejor de tu carácter personal
www.oscararzola.com/blog
Principios de un programador
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 22:23.