Dans une table de base de données contenant une liste d'aliments avec un champ "Position" représentant leur commande sur la liste, il est souvent nécessaire de réorganiser leur ordre en fonction des modifications apportées à un seul enregistrement. La requête fournie par l'affiche originale implique un processus fastidieux en plusieurs étapes impliquant l'extraction de données, la manipulation en JavaScript et plusieurs mises à jour de bases de données.
Cependant, une approche plus efficace qui résout le problème avec une seule requête est :
<code class="sql">UPDATE my_table SET position = position * 10;</code>
Cette requête multiplie la position de tous les enregistrements dans la table par 10, créant ainsi de grands écarts entre les positions. Par la suite, une simple mise à jour de l'enregistrement cible pour déplacer "Poires" vers la position souhaitée peut être facilement réalisée avec la requête suivante :
<code class="sql">UPDATE my_table SET position = 15 WHERE listId=1 AND name = 'Pears';</code>
Pour répondre à toute préoccupation concernant la disparition des écarts au fil du temps en raison d'une réorganisation ultérieure, la requête fournie précédemment peut être exécutée périodiquement pour mettre à jour les positions et maintenir l'espacement nécessaire. Grâce à cette approche efficace à requête unique, réorganiser l'ordre des aliments devient une tâche simple.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!