voici mon problème.
J'ai 3 tables, PACKS, OPTIONS et LIENS_PACKS_OPTIONS. Un pack peut contenir 0, 1 ou plusieurs options. Ces liens sont symbolisés par une insertion dans la table LIENS_PACKS_OPTIONS, de cette manière :

Ici, on voit que le pack 1 contient les options 1 et 2.
J'ai ensuite un formulaire, qui me permet de modifier un pack, avec <select multiple=multiple">, pour sélectionner les options à lui lier.
Mon problème est que j'aimerai au moment de la mise à jour, faire quelque chose de propre. Jusqu'à maintenant, lorsque j'avais ce type d'opération à faire, je supprimais tous les liens de ce pack dans la table LIENS_PACKS_OPTIONS, et je récréais les nouveaux liens. Mais je vois bien qu'il est possible de faire autrement :
En amont de la requête, faire une sorte de comparaison entre mon ancien tableau de liens, extrait de la base de données, et mon nouveau tableau de lien, qui provient du formulaire : et ensuite, faire les étapes suivantes :
1. Supprimer les liens de la table LIENS_PACKS_OPTIONS qui ne sont pas présents dans le tableau issu du formulaire.
2. Ajouter les liens issus du formulaire qui ne sont pas encore dans la table LIENS_PACKS_OPTIONS.
Mon problème est que je ne bloque pour faire cette comparaison entre les 2 tableaux. Pourriez-vous m'aider ?
Mais peut-être que la solution que je souhaite mettre en place n'est pas forcément meilleure que l'ancienne ? Est-elle plus gourmande ?