Ver Mensaje Individual
  #2 (permalink)  
Antiguo 19/03/2010, 14:34
rpv
 
Fecha de Ingreso: febrero-2010
Mensajes: 275
Antigüedad: 14 años, 3 meses
Puntos: 10
Respuesta: Reordenar tablas MYSQL

La pregunta es porque quieres que tu script procese sea de esta forma?, lo que intentas hacer es posible, pero cuando tu db tenga muchos registros se hará cada vez más caótico y menos recomendable, yo ahora mismo te sugiero que solo trabajes con MySQL, es decir, el procedimiento sería que tuvieras una tabla `gemela` para hacer las operaciones:

Código PHP:
Ver original
  1. // Borras 1 o varias fotos:
  2.  
  3. tu_procedimiento_para_borrar_fisicamente_las_fotos();
  4. //borrado de su parte lógica (en db)
  5. mysql_query('DELETE FROM tutabla_original WHERE id=33 OR id=34 or id=55');
  6.  
  7. //proceso de ordenado:
  8.  
  9. //copias a db gemela, con esta se copian todos los registros existentes:
  10. mysql_query('INSERT INTO tutabla_gemela (todos,tus,campos,menos,id) SELECT todos,tus,campos,menos,id FROM tutabla_original ORDER BY id ASC');
  11.  
  12. //limpias tabla original:
  13. mysql_query('TRUNCATE tutabla_original');
  14.  
  15. //regresas los valores:
  16. mysql_query('INSERT INTO tutabla_original  SELECT * FROM tutabla_gemela ORDER BY id ASC');
  17. // <- en este punto  tutabla_gemela contiene todos tus registros, pero en el insert no se especifico id entonces mysql asigna id's consecutivos
  18.  
  19. //limpias tabla gemela (para que quede lista para otro posible borrado):
  20. mysql_query('TRUNCATE tutabla_gemela');
  21.  
  22. //optimizas tabla original:
  23. mysql_query('OPTIMIZE TABLE tutabla_original');


*NOTA, ambas tablas deben tener id con la propiedad auto_increment para que funcione correctamente.

insisto, este procedimiento que buscas no es para nada recomendable.