CREATE TABLE item (link MEDIUMINT UNSIGNED PRIMARY KEY NOT NULL,
title TEXT NOT NULL,
rank INT UNSIGNED NOT NULL AUTO_INCREMENT,
notes TEXT
) ENGINE = INNODB;
J'ai des problèmes pour implémenter ceci. rank est un classement donné par l'utilisateur qui peut être modifié à tout moment, et les éléments peuvent être ajoutés et supprimés à tout moment. Le problème est que je voudrais que les rangs soient uniques, et toujours ordonnés entre 1 et n (n étant le nombre de rangées dans la table). IE: Si un utilisateur change le rang de l'article 5 à 2. L'article de rang 2 précédent deviendra le rang 3, le rang précédent 3 passera au rang 4, et le rang 4 deviendra le nouveau rang 5. De même, pour supprimer et créer , tous les objets classés plus grands ou plus petits devraient descendre en cascade l'un ou l'autre de l'opération.Méthode MySQL pour maintenir la liste "top n" séquentiellement numérotée
Y at-il une sorte de modèle ou de technique pour mettre en œuvre facilement cela?
Merci pour toute aide,
Michael