Dans une table j'ai un champ ORDRE. Ce champ doit être UNIQUE. Il reflète un ordre entre deux enregistrements. Si je veux rentrer un nouvel enregistrement dont l'ordre est compris entre l'ordre de l'enregistrement a et l'ordre de l'enregistrement b comment faire.
Si ORDRE est un entier il faudra modifier tous les enregistrements x vérifiant ORDRE(x) est supérieur ou égal à ORDRE(y).
Par contre si ORDRE est un double il suffira de lui donner la valeur (ORDRE(x)+ORDRE(y)/2, encore que le nombre d'insertions possible reste quand même limitée par la précision des doubles.
Quel est cependant la meilleure solution (même si sur le papier la deuxième solution semble préférable) ?
Partager