admettons qu'on suive ton idée : un utilisateur insère un truc, qui va également affecter autre chose dans la base. Tu supprimes cette insertion.
Un autre utilisateur insère un nouvel élément dans la même table, qui va donc prendre l'id de celui qu'on a dégommé, et affecter tout ce qui doit l'être autour -> bordel monstrueux dans la cohérence des données.
D'accord, c'est un peu abstrait comme exemple mais dans la pratique, ton idée c'est bien un coup à se foutre dans la merde selon l'appli.
Laisse les Id augmenter séquentiellement. Tant pis pour les trous, même si pour des trucs du genre table de paramètres ça peut effectivement faire moche si les id sont visibles pour l'utilisateur.
maintenant peut être qu'il y existe une astuce miracle pour obtenir ce que tu veux mais j'en doute. Et c'est forcément propre à chaque sgbdr (du coup ça doit bien exister sur l'un deux remarque...)
Si tu veux vraimentn faire ce à quoi tu pensais, gère tes insertions manuellement.
astuce : pour réinitialiser à 0 les id d'une table, faire un delete from x ne suffit pas. On repart quand même de la derniere valeur... par contre un TRUNCATE lui fonctionne !
Message édité par TotalRecall le 10-04-2007 à 17:05:04
---------------
Topic .Net - C# @ Prog