Ir renumerando el campo indice puede llegar a ser una tarea ardua para la BD sobre todo si la tabla es grande.
Puedes intentar extraer los datos y luego renumerarlos fuera usando PHP.
Código PHP:
$row = mysql_query("SELECT * FROM tabla1");
$result = array();
while($r = mysql_fetch_array($row))
{
$result[] = $r;
}
Asi lo tendras renumerados desde fuera.
Aun así si lo quieres hacer como dices prueba esto:
Código PHP:
$cod_iden = 2;
//Borramos el campo que deseamos
mysql_query("DELETE FROM tabla WHERE cod_iden = ".$cod_iden);
//Decrementamos en 1 el cod_iden de todos los campos superiores a este
mysql_query("UPDATE tabla SET cod_iden = cod_iden-1 WHERE cod_iden > ".$cod_iden);
//Ahora si usas AUTO_INCREMENT en el campo de cod_iden tambien hay que alterarle.
//Usamos esta sentencia para extraer el campo auto_increment
$r = mysql_query("SELECT AUTO_INCREMENT FROM information_schema.table WHERE TABLE_SCHEMA = 'nombre_bd' AND TABLE_NAME = 'tabla'");
$result = mysql_fetch_array($r);
$auto_increment = $result["auto_increment"];
//Ahora alteramos el campo autoincrement restandole 1
mysql_query("ALTER TABLE tabla AUTO_INCREMENT = ".($auto_increment-1));
Esta codigo no es muy aconsejable pues hay muchas sentencias MySQL seguidas y algunas de ellas pueden ser muy pesadas.
No he probado el codigo. Pero la idea es clara.
Saludos