Gestion des tables Mysql

nono -  
 nono -
Bonjour, j'ai un petit souci avec ma base de donnée, voilà je voulais effacer le premier enregistrement de la table, donc j'ai écrit ce script sous php:
<?
$connexion=mysql_connect("localhost","root") or die ("impossible de se connecter au serveur");
$select=mysql_select_db("database") or die ("j'arrive pas à atteindre la table demandée");
print ("Maintenant nous allons effacer un enregistrement de la table<br>");
$query = " delete from Etudiant where id_etudiant = 1";
$result =mysql_query($query);
print (" l'enregistrement Effacé ");
?>
Tous s'est bien passé, comme j'ai défini pour id_etudiant(clé primaire) de type "auto_increment" je croyais que quand je supprime un enregistrement dans la table le deuxième prendra automatiquement la valeur 1 alors qu'il ne s'agit pas du tout comme je pense... (c'est à dire que le deuxième reste à la place de deuxième enregistrement et non pas celle du premier) comment je peut faire changer automatiquement les valeur de "id_etudiant"? es-ce que c'est dans le reglage de MysqlAdmin ou au niveau de code?
Merci beaucoup d'avance !
A voir également:

2 réponses

StreM Messages postés 515 Statut Membre 124
 
Au niveau du code.
Il prend le max(id) et l'incremente a chaque nouvel enreg.
L'id est UNIQUE, donc si une table pointe sur le champ qui a comme Id=2 , le jour ou tu supprime un enreg, et qu'il te decale tous tes enregs, la table va pointer sur le mauvais champs !
Donc c'est une mauvaise idee de remettre les Id bien ordonnés.

Sinon, il te faut faire un script PHP pour remettre tous tes id comme il faut. SQL ne sait pas faire et comme je te l'ai expliqué, il n'y a pas d'utilite a faire ca.

0
nono
 
Merci beaucoup.
chao!
0